boto3 list_objects和list_objects_v2有什么区别?

tam*_*jd1 17 python amazon-s3 boto3

我正在尝试使用python在Amazon s3存储桶中列出对象boto3.

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

2和使用one之间的好处有什么区别?

moo*_*oot 25

比较并排.

list_objects():

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

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'
)
Run Code Online (Sandbox Code Playgroud)

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

  • 是的。改进了分页功能,并且调用具有更多功能。 (4认同)