Partitioniert eine Abfrage durch Rückgabe von Partitions-Cursorn, mit denen die Abfrage parallel ausgeführt werden kann. Die zurückgegebenen Partitions-Cursor sind Aufteilungspunkte, die von „documents.runQuery“ als Start-/Endpunkte für die Abfrageergebnisse verwendet werden können.
HTTP-Anfrage
POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:partitionQuery
Die URL verwendet die Syntax der gRPC-Transcodierung.
Pfadparameter
Parameter | |
---|---|
parent |
Erforderlich. Der Name der übergeordneten Ressource. Im Format: |
Anfragetext
Der Anfragetext enthält Daten mit folgender Struktur:
JSON-Darstellung |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
Felder | |
---|---|
partitionCount |
Die gewünschte maximale Anzahl von Partitionspunkten. Die Partitionen können über mehrere Ergebnisseiten hinweg zurückgegeben werden. Die Zahl muss positiv sein. Die tatsächliche Anzahl der zurückgegebenen Partitionen kann geringer sein. Dieser kann beispielsweise auf ein weniger als die Anzahl der auszuführenden parallelen Abfragen oder beim Ausführen eines Datenpipelinejobs um eins weniger als die Anzahl der verfügbaren Worker oder Recheninstanzen festgelegt werden. |
pageToken |
Der Beispiel: Zwei aufeinanderfolgende Aufrufe mit einem pageToken können Folgendes zurückgeben:
Um einen vollständigen Ergebnissatz zu erhalten, sortiert nach den Ergebnissen der an „document.partitionQuery“ bereitgestellten Abfrage, müssen die Ergebnissätze zusammengeführt werden: Cursor A, Cursor B, Cursor M, Cursor Q, Cursor U, Cursor W. |
pageSize |
Die maximale Anzahl von Partitionen, die in diesem Aufruf zurückgegeben werden sollen, vorbehaltlich Wenn beispielsweise |
Union-Feld query_type . Die zu partitionierende Abfrage. Für query_type ist nur einer der folgenden Werte zulässig: |
|
structuredQuery |
Eine strukturierte Abfrage. In der Abfrage muss eine Sammlung mit allen Nachfolgerelementen angegeben und nach Namen aufsteigend sortiert werden. Andere Filter, Sortierungen nach, Grenzwerte, Offsets und Start-/End-Cursor werden nicht unterstützt. |
Union-Feld consistency_selector . Der Konsistenzmodus für diese Anfrage. Wenn nichts festgelegt ist, wird standardmäßig „Strong Consistency“ verwendet. Für consistency_selector ist nur einer der folgenden Werte zulässig: |
|
readTime |
Liest Dokumente so, wie sie zum jeweiligen Zeitpunkt waren. Dabei muss es sich um einen Zeitstempel mit einer Genauigkeit von Mikrosekunden innerhalb der letzten Stunde handeln. Wenn die Wiederherstellung zu einem bestimmten Zeitpunkt aktiviert ist, kann zusätzlich ein Zeitstempel einer ganzen Minute innerhalb der letzten 7 Tage angegeben werden. Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: |
Antworttext
Die Antwort für Firestore.PartitionQuery
.
Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:
JSON-Darstellung |
---|
{
"partitions": [
{
object ( |
Felder | |
---|---|
partitions[] |
Partitionsergebnisse. Jede Partition ist ein Split-Point, der von „documents.runQuery“ als Start- oder Endpunkt für die Abfrageergebnisse verwendet werden kann. Die „documents.runQuery“-Anfragen müssen mit der Abfrage durchgeführt werden, die an diese „document.partitionQuery“-Anfrage gesendet wurde. Die Partitions-Cursor werden in der gleichen Reihenfolge sortiert wie die Ergebnisse der an „document.partitionQuery“ übergebenen Abfrage. Wenn zum Beispiel eine „document.partitionQuery“-Anfrage die Partitionscursor A und B zurückgibt, wird bei der Ausführung der folgenden drei Abfragen der gesamte Ergebnissatz der ursprünglichen Abfrage zurückgegeben:
Ein leeres Ergebnis kann darauf hindeuten, dass die Abfrage zu wenige Ergebnisse zum Partitionieren hat oder dass die Partitionierung der Abfrage noch nicht unterstützt wird. |
nextPageToken |
Ein Seitentoken, mit dem eine zusätzliche Ergebnismenge angefordert werden kann, bis zu der durch |
Autorisierungsbereiche
Erfordert einen der folgenden OAuth-Bereiche:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
Weitere Informationen finden Sie in der Authentifizierungsübersicht.