クエリの並列実行に使用できるパーティション カーソルを返すことで、クエリをパーティショニングします。返されるパーティション カーソルは分割ポイントであり、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 |
前回の document.partitionQuery の呼び出しで返された たとえば、pageToken を使用した後続の 2 つの呼び出しでは、次のような結果が返されます。
ドキュメント.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 リクエストも、この documentation.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
詳細については、認証の概要をご覧ください。