この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
一部のAWS APIオペレーションはすべての結果を1回だけで返すことができなく、結果セット全体を取得するために後続のリクエストが必要になります。いわゆるpaginationページネーションを行う必要があります。たとえば、Amazon S3のlist_objectsオペレーションは、一度に最大1000個のオブジェクトを返します。結果の次のページを取得するには、適切なマーカーを使用して後続のリクエストを送信する必要があります。
Paginatorsは、python ライブラリboto3のページネーションの機能です。
boto3のPaginatorの使用方法は下記となります。
## S3のpagination例
import boto3
# Create a client
client = boto3.client('s3', region_name='us-west-2')
# Create a reusable Paginator
paginator = client.get_paginator('list_objects_v2')
# Create a PageIterator from the Paginator
page_iterator = paginator.paginate(Bucket='my-bucket')
for page in page_iterator:
for file in page['Contents']:
print(file['Key'])
print(file['Size'])
参照URL:
boto3 Paginators