我正在尝试使用 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/