En mémoire
Par défaut, vous ne pouvez obtenir que 1000 préfixes depuis S3, donc si vous en avez 1000 ou plus, utilisez 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'])
Comme mentionné ci-dessus par défaut dans le document, la liste des 1000 préfixes est stockée dans la liste de page_iterator. Je vais les développer pour les rendre plus faciles à manipuler.
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))
Vous pouvez désormais gérer plus de 1000 préfixes
Recommended Posts