3Get the checksum/hash of an object in S3.
12from _common import create_s3_session, parse_s3_uri
16 parser = argparse.ArgumentParser(
17 prog=os.path.basename(__file__), description="Get the hash of an object in S3"
20 parser.add_argument("S3_URI")
22 "--algorithm", help="which checksum algorithm to use", default="sha256"
25 return parser.parse_args()
28if __name__ == "__main__":
31 s3_location = parse_s3_uri(args.S3_URI)
33 sess = create_s3_session(args.S3_URI)
35 s3_obj = sess.client("s3").get_object(
36 Bucket=s3_location["Bucket"], Key=s3_location["Path"]
39 h = hashlib.new(args.algorithm)
41 with tqdm.tqdm(total=s3_obj["ContentLength"], unit="B", unit_scale=True) as pbar:
43 chunk = s3_obj["Body"].read(8192)
44 pbar.update(len(chunk))
50 print(h.hexdigest(), end="")