何时使用S3 API分页

时间:2017-01-23 15:22:14

标签: amazon-web-services amazon-s3 pagination boto3

我使用boto3客户端访问存储在Amazon S3存储桶中的日期。阅读完文档后,我看到我可以使用以下代码发出请求: s3 = boto3.resource('s3') bucket = s3.Bucket(TARGET_BUCKET) for obj in bucket.objects.filter(Bucket=TARGET_BUCKET, Prefix=TARGET_KEYS + KEY_SEPARATOR): print(obj) 我测试了一个存储3000个对象的存储桶,这段代码检索了对所有对象的引用。我已经读过,对S3的所有API调用最多返回1000个条目。

但是阅读boto3文档paginator section,我发现有些S3操作需要使用分页来检索所有结果。我不明白为什么上层代码可以工作,除非代码在底层使用了分页器。这是我的问题,我可以安全地假设上面的代码总是会检索所有结果。?

1 个答案:

答案 0 :(得分:1)

根据文档here,将为您处理分页。

  

集合为一组资源提供可迭代的接口。   集合的行为与Django QuerySets类似,并暴露了类似的东西   API。 一个集合无缝地为您处理分页,制作它   可以轻松地遍历所有数据页面中的所有项目。