クエリの並列実行に使用できるパーティション カーソルを返してクエリを分割します。返されるパーティション カーソルは、documents.runQuery がクエリ結果の開始点または終了点として使用できる分割点です。
HTTP リクエスト
POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:partitionQuery
この URL は gRPC Transcoding 構文を使用します。
パスパラメータ
パラメータ | |
---|---|
parent |
必須。親リソース名。形式は |
リクエスト本文
リクエストの本文には、次の構造のデータが含まれます。
JSON 表現 |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
フィールド | |
---|---|
partitionCount |
パーティション ポイントの望ましい最大数。パーティションは、結果の複数のページにまたがって返される可能性があります。数値は正数でなければなりません。実際に返されるパーティションの数はこれより少ない可能性があります。 たとえば、実行する並列クエリの数より 1 つ少ない数に設定したり、データ パイプライン ジョブを実行しているときに使用可能なワーカーまたはコンピューティング インスタンスの数より 1 少ない数に設定したりできます。 |
pageToken |
前回の documents.partitionQuery の呼び出しから返された たとえば、pageToken を使用した後続の 2 つの呼び出しでは、次のような結果が返されます。
document.partitionQuery に指定したクエリの結果に基づいて並べ替えられた完全な結果セットを取得するには、カーソル A、カーソル B、カーソル M、カーソル Q、カーソル U、カーソル W の結果セットをマージする必要があります。 |
pageSize |
この呼び出しで返されるパーティションの最大数。 たとえば、 |
共用体フィールド query_type 。パーティショニングするクエリ。query_type は次のいずれかになります。 |
|
structuredQuery |
構造化クエリ。クエリは、すべての子孫を含むコレクションを指定し、名前の昇順で並べる必要があります。その他のフィルタ、並べ替え、制限、オフセット、開始/終了カーソルはサポートされていません。 |
共用体フィールド consistency_selector 。このリクエストの整合性モード。設定しない場合、デフォルトで強整合性が使用されます。consistency_selector は次のいずれかになります。 |
|
readTime |
指定された時点のドキュメントを読み取ります。 これは、過去 1 時間以内のマイクロ秒の精度のタイムスタンプにする必要があります。ポイントインタイム リカバリが有効になっている場合は、過去 7 日間以内の 1 分単位のタイムスタンプにすることもできます。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
レスポンスの本文
Firestore.PartitionQuery
に対するレスポンス。
成功すると、レスポンスの本文に次の構造のデータが含まれます。
JSON 表現 |
---|
{
"partitions": [
{
object ( |
フィールド | |
---|---|
partitions[] |
結果を分割します。各パーティションは、documents.runQuery でクエリ結果の開始点または終了点として使用できる分割ポイントです。document.runQuery リクエストは、この documents.partitionQuery リクエストで指定したクエリと同じクエリを使用して実行する必要があります。パーティション カーソルは、documents.partitionQuery に渡されたクエリの結果と同じ順序で並べ替えられます。 たとえば、documents.partitionQuery リクエストがパーティション カーソル A と B を返す場合、次の 3 つのクエリを実行すると、元のクエリの結果セット全体が返されます。
空の結果は、クエリに含まれる結果が少なすぎてパーティショニングできないか、クエリがパーティショニングでまだサポートされていないことを示している可能性があります。 |
nextPageToken |
追加の結果セットをリクエストするために使用できるページトークン。documents.partitionQuery リクエストで |
承認スコープ
次の OAuth スコープのいずれかが必要です。
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
詳細については、認証の概要をご覧ください。