Lambdaで特定のBucket(S3)にある全Objectリストを取得する方法
list_objecthsで取得できるのは一度に1000件なので、while
で回す
s3_objects.py
import boto3
BUCKET_NAME = ''
def list_handler(event, context):
s3_client = boto3.client('s3')
contents = []
next_token = ''
while True:
if next_token == '':
response = s3_client.list_objects_v2(Bucket=BUCKET_NAME)
else:
response = s3_client.list_objects_v2(Bucket=BUCKET_NAME, ContinuationToken=next_token)
contents.extend(response['Contents'])
if 'NextContinuationToken' in response:
next_token = response['NextContinuationToken']
else:
break
print(contents)
print(len(contents))
Author And Source
この問題について(Lambdaで特定のBucket(S3)にある全Objectリストを取得する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/ainn_lll/items/600a5a20de605f055bed著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .