Rac*_*hel 7 amazon-s3 amazon-web-services s3cmd
我正在使用 Amazon S3 API,特别是 ListObjects (v2)、GetBucket 命令。令人沮丧的是,我只能取回 1000 个对象。我认为您指定 Delimeter 或 nextMarker 设置为诱导分页并返回所有内容。有人有一个如何实现这一点的例子吗?curl 或 GET 的最终结果实际上是获取所有内容,而不仅仅是 1000 个对象。
如果list_objects()响应已IsTruncated设置为 True,则您可以进行后续调用,NextContinuationToken从上一个响应传递到ContinuationToken后续调用的字段。这将返回接下来的 1000 个对象。
或者,您可以使用提供的分页器来为您执行此操作。
\n\n来自Paginators \xe2\x80\x94 Boto 3 文档:
\n\nimport boto3\n\n# Create a client\nclient = boto3.client(\'s3\', region_name=\'us-west-2\')\n\n# Create a reusable Paginator\npaginator = client.get_paginator(\'list_objects\')\n\n# Create a PageIterator from the Paginator\npage_iterator = paginator.paginate(Bucket=\'my-bucket\')\n\nfor page in page_iterator:\n print(page[\'Contents\'])\nRun Code Online (Sandbox Code Playgroud)\n