クエリを並行して実行するために使用できるパーティションカーソルを返すことにより、クエリをパーティション化します。返されるパーティションカーソルは、documents.runQueryがクエリ結果の開始点/終了点として使用できる分割点です。
HTTPリクエスト
POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery
URLはgRPCトランスコーディング構文を使用します。
パスパラメータ
パラメーター | |
---|---|
parent | 必須。親リソース名。形式: |
リクエスト本文
リクエスト本文には、次の構造のデータが含まれています。
JSON表現 | |
---|---|
{
"partitionCount": string,
"pageToken": string,
"pageSize": integer,
"structuredQuery": {
object ( |
田畑 | |
---|---|
partitionCount | パーティションポイントの必要な最大数。パーティションは、結果の複数のページにわたって返される場合があります。数値は正でなければなりません。実際に返されるパーティションの数はこれより少ない場合があります。 たとえば、これは、実行する並列クエリの数より1少ない数に設定したり、データパイプラインジョブの実行時に、使用可能なワーカーまたは計算インスタンスの数より1つ少ない数に設定したりできます。 |
pageToken | 追加の結果セットを取得するために使用できるdocuments.partitionQueryへの前回の呼び出しから返された たとえば、pageTokenを使用した2回の後続の呼び出しは、次を返す場合があります。
documents.partitionQueryに提供されたクエリの結果に関して順序付けられた完全な結果セットを取得するには、結果セットをマージする必要があります:カーソルA、カーソルB、カーソルM、カーソルQ、カーソルU、カーソルW |
pageSize | この呼び出しで戻り、対象へのパーティションの最大数 たとえば、 |
structuredQuery | 構造化クエリ。クエリでは、すべての子孫を含むコレクションを指定し、名前の昇順で並べ替える必要があります。その他のフィルター、順序順、制限、オフセット、および開始/終了カーソルはサポートされていません。 |
レスポンスボディ
成功した場合、応答本文には次の構造のデータが含まれます。
JSON表現 | |
---|---|
{
"partitions": [
{
object ( |
田畑 | |
---|---|
partitions[] | 結果を分割します。各パーティションは、documents.runQueryがクエリ結果の開始点または終了点として使用できる分割点です。 documents.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
詳細については、認証の概要を参照してください。