· 6 years ago · May 01, 2019, 11:30 AM
1#python3
2import boto3
3from tqdm import tqdm
4import io
5
6BUCKET_NAME = ''
7access_key = ''
8secret_key = ''
9host = ''
10
11S3_FILE_NAME = ''
12localfile = io.BytesIO()
13
14session = boto3.session.Session(
15 aws_access_key_id=secret_key, aws_secret_access_key=access_key)
16s3 = session.resource('s3', endpoint_url=host)
17bucket = s3.Bucket(BUCKET_NAME)
18object = bucket.Object(S3_FILE_NAME)
19filesize = object.content_length
20print(S3_FILE_NAME)
21print(filesize)
22
23
24def hook(t):
25 def inner(bytes_amount):
26 t.update(bytes_amount)
27 return inner
28
29
30with tqdm(total=filesize, unit='B', unit_scale=True, desc="FILE") as t:
31 object.download_fileobj(localfile, Callback=hook(t))