Als Memorandum
Standardmäßig können Sie von S3 nur bis zu 1000 Präfixe abrufen. Wenn Sie also 1000 oder mehr haben, verwenden Sie den Paginator.
import boto3
# Create a client
client = boto3.client('s3', region_name='us-west-2')
# Create a reusable Paginator
paginator = client.get_paginator('list_objects')
# Create a PageIterator from the Paginator
page_iterator = paginator.paginate(Bucket='my-bucket')
for page in page_iterator:
print(page['Contents'])
Wie oben im Dokument standardmäßig erwähnt, wird die Liste der 1000 Präfixe in der Liste des page_iterator gespeichert. Ich werde sie erweitern, um sie leichter handhaben zu können.
import boto3
import itertools
client = boto3.client('s3', region_name='us-west-2')
paginator = client.get_paginator('list_objects')
page_iterator = paginator.paginate(Bucket='my-bucket')
contents = list(itertools.chain.from_iterable(page_iterator))
Jetzt können Sie über 1000 Präfixe verarbeiten
Recommended Posts