result_count、previous_token、next_token を含む meta オブジェクトが含まれます。XDK は next_token を使った複数の API 呼び出しを裏で処理するため、開発者は欲しいデータ量を指定するだけで、自分で複数回呼び出す必要はありません。
SDK では次の機能でこれをシンプルにします:
- 組み込みイテレータ: ジェネレータ関数で複数ページの取得をシームレスに行えます。
- 明示的なトークンハンドリング: 必要に応じて
pagination_tokenを渡すことで、柔軟に手動制御できます。 - 最大結果数の適用: 呼び出しごとの
max_resultsを尊重します(API の上限まで。検索は 100 など)。
自動ページネーション(推奨)
ページネーション付きレスポンスに対してiterate() メソッドを使い、すべての結果を遅延的に取得します。
例: ページネーション付き検索
Example
- イテレータは
next_tokenを自動的に扱います。 next_tokenがなくなると停止します。- 429 エラーを避けるためのレート制限バックオフをサポートします。
手動ページネーション
何らかのカスタムロジック(例: ページごとの処理)で結果を制御する必要がある場合は、次のようにnext_token を使って手動でページ処理することもできます:
Example
- 最適化のために常に
max_resultsを指定してください(デフォルトはエンドポイントごとに異なります)。 - デバッグには
meta.result_countを確認してください。 - 非常に大規模なクエリでは、ブロッキングを避けるために非同期イテレーションの利用を検討してください。 Python XDK を使った詳細なコードサンプルは、コードサンプル GitHub リポジトリを参照してください。