从s3存储桶下载所有文件,包括分页python

时间:2019-02-21 10:13:07

标签: python python-3.x amazon-web-services amazon-s3 boto3

我正在尝试从s3存储桶下载所有文件,这是我的代码:

s3 = boto3.client('s3',
                  aws_access_key_id=ACCESS_KEY,
                  aws_secret_access_key=SECRET_KEY
                  )
key_list = s3.list_objects(Bucket=bucket_name)['Contents']
for key in key_list:
    s3.download_file(bucket_name, key['Key'], key['Key'])

但是它仅下载第一页文件... 如何从所有页面下载所有文件?

1 个答案:

答案 0 :(得分:0)

下面的代码创建所有存储桶对象的列表。

  s3 = boto3.resource('s3')
  bucket = s3.Bucket(bucket_name)
  return [o.key for o in bucket.objects.all()]