我使用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操作需要使用分页来检索所有结果。我不明白为什么上层代码可以工作,除非代码在底层使用了分页器。这是我的问题,我可以安全地假设上面的代码总是会检索所有结果。?
答案 0 :(得分:1)
根据文档here,将为您处理分页。
集合为一组资源提供可迭代的接口。 集合的行为与Django QuerySets类似,并暴露了类似的东西 API。 一个集合无缝地为您处理分页,制作它 可以轻松地遍历所有数据页面中的所有项目。