python - boto3 list_objects 和 list_objects_v2 有什么区别?

标签 python amazon-s3 boto3

我正在尝试使用 boto3 在 Python 中列出 Amazon s3 存储桶中的对象。

boto3 似乎有 2 个函数用于列出存储桶中的对象:list_objects()list_objects_v2()

两者之间有什么区别,使用其中一个的好处是什么?

最佳答案

并排比较。

列表对象():

response = client.list_objects(
    Bucket='string',
    Delimiter='string',
    EncodingType='url',
    #Marker to list continuous page
    Marker='string',
    MaxKeys=123,
    Prefix='string'
)

list_objects_v2()

response = client.list_objects_v2(
    Bucket='string',
    Delimiter='string',
    EncodingType='url',
    MaxKeys=123,
    Prefix='string',
    # Replace marker to list continuous page
    ContinuationToken='string',

    # set to True to fetch key owner info. Default is False.
    FetchOwner=True|False,

    # This is similar to the Marker in list_object()
    StartAfter='string'
)

新增功能。由于每页列出 1000 个键的限制,使用标记列出多个页面可能会让人头疼。从逻辑上讲,您需要跟踪您成功处理的最后一个 key 。使用 ContinuationToken,您不需要知道最后一个 key ,您只需检查响应中是否存在 NextContinuationToken。您可以生成并行进程来处理 1000 个键的乘积,而无需处理最后一个键来获取下一页。

关于python - boto3 list_objects 和 list_objects_v2 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37534077/

相关文章:

python - python 中此表达式的代码

json - 发行 “Accessing S3 bucket from ElasticBeanstalk using Docker Json file”

amazon-s3 - 如何将boto与fakes3连接

python - 如何在 boto3 中创建源为 sg 的入口规则

python - 调用 assume_role 导致 "InvalidClientTokenId"错误

Python 3 图像 base64 不保存到 html img 标签

python - SQLAlchemy 和通行证库

python - 填充 html 表单时,Html 输入值不显示完整变量

python - Boto3 put_object() 很慢

python - 在 python 中为 boto3 文件加密创建 SSECustomerKey 的正确方法是什么?