python __boto3
_を使用して)でAmazon s3バケット内のオブジェクトを一覧表示しようとしています。
_boto3
_には、バケット内のオブジェクトをリストするための2つの関数list_objects()
とlist_objects_v2()
があるようです。
2つの違いは何ですか?一方を使用する利点は何ですか?
並べて比較。
list_objects():
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'
)
追加された機能。 1ページあたり1000個のキーのリスト制限があるため、マーカーを使用して複数のページをリストするのは頭痛の種になる可能性があります。論理的には、正常に処理された最後のキーを追跡する必要があります。 ContinuationToken
を使用すると、最後のキーを知る必要はありません。応答でNextContinuationToken
の存在を確認するだけです。次のページを取得するために最後のキーを処理することなく、1000個のキーの乗算を処理する並列プロセスを生成できます。