result_count、previous_token、next_token を含む meta オブジェクトが含まれます。XDK は next_token を使って複数回の API 呼び出しを自動で処理するため、開発者は複数回リクエストを送ることなく、必要なデータ量だけを指定できます。
SDK はこれを次のように簡素化します:
- 組み込みイテレーター: ジェネレーター関数を使って、複数ページにまたがるデータ取得をシームレスに行えます。
- 明示的なトークン処理:
pagination_tokenを渡すことで、必要に応じた柔軟な手動制御が可能です。 - 最大取得件数の遵守: 各呼び出しごとに
max_results(API の上限まで。例: 検索の場合は 100)を遵守します。
自動ページネーション(推奨)
iterate() メソッドを使用し、すべての結果を遅延的に取得します。
例: ページネーション付き検索
- イテレータは
next_tokenを自動的に処理します。 next_tokenが存在しない場合に停止します。- 429 エラーを回避するためのレート制限バックオフをサポートします。
手動でのページネーション
next_token を使用して、以下のように手動でページネーションを行うこともできます。
- エンドポイントごとに既定値が異なるため、
max_resultsを必ず指定してチューニングしてください。 - デバッグのために
meta.result_countをモニタリングしてください。 - 非常に大きなクエリの場合は、処理のブロッキングを避けるために非同期イテレーションの利用を検討してください。 Python XDK を使用した詳細なコード例については、コードサンプルの GitHub リポジトリ を参照してください。