Esegue il partizionamento di una query restituendo cursori di partizione che possono essere utilizzati per eseguire la query in parallelo. I cursori di partizione restituiti sono punti di suddivisione che possono essere utilizzati da documents.runQuery come punti di partenza/arrivo per i risultati della query.
Richiesta HTTP
POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:partitionQuery
L'URL utilizza la sintassi di transcodifica gRPC.
Parametri del percorso
Parametri | |
---|---|
parent |
Obbligatoria. Il nome della risorsa padre. Nel formato: |
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
Campi | |
---|---|
partitionCount |
Il numero massimo di punti di partizione desiderato. Le partizioni possono essere restituite su più pagine di risultati. Il numero deve essere positivo. Il numero effettivo di partizioni restituite potrebbe essere inferiore. Ad esempio, questo valore potrebbe essere impostato su uno in meno rispetto al numero di query parallele da eseguire o, durante l'esecuzione di un job di pipeline di dati, su uno in meno rispetto al numero di worker o istanze di calcolo disponibili. |
pageToken |
Il valore Ad esempio, due chiamate successive che utilizzano un pageToken potrebbero restituire:
Per ottenere un set di risultati completo ordinato rispetto ai risultati della query fornita a documents.partitionQuery, gli insiemi di risultati devono essere uniti: cursore A, cursore B, cursore M, cursore Q, cursore U, cursore W |
pageSize |
Il numero massimo di partizioni da restituire in questa chiamata, soggetto a Ad esempio, se |
Campo di unione query_type . La query da partizionare. query_type può essere solo uno dei seguenti: |
|
structuredQuery |
Una query strutturata. La query deve specificare la raccolta con tutti i discendenti ed essere ordinata in base al nome in ordine crescente. Altri filtri, Ordina per, limiti, offset e cursori di inizio e fine non sono supportati. |
Campo di unione consistency_selector . La modalità di coerenza per questa richiesta. Se non viene configurato, il valore predefinito è elevata coerenza. consistency_selector può essere solo uno dei seguenti: |
|
readTime |
Legge i documenti così come erano al momento specificato. Deve essere un timestamp con precisione in microsecondi risalente all'ultima ora oppure, se il recupero point-in-time è abilitato, può essere anche un timestamp di un minuto intero compreso negli ultimi 7 giorni. Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
Corpo della risposta
La risposta per Firestore.PartitionQuery
.
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{
"partitions": [
{
object ( |
Campi | |
---|---|
partitions[] |
Risultati del partizionamento. Ogni partizione è un punto di suddivisione che può essere utilizzato da documents.runQuery come punto iniziale o finale per i risultati della query. Le richieste documents.runQuery devono essere effettuate con la stessa query fornita a questa richiesta documents.partitionQuery. I cursori di partizione verranno ordinati in base allo stesso ordine dei risultati della query forniti a documents.partitionQuery. Ad esempio, se una richiesta documents.partitionQuery restituisce i cursori di partizione A e B, l'esecuzione delle tre query seguenti restituirà l'intero set di risultati della query originale:
Un risultato vuoto potrebbe indicare che la query ha un numero insufficiente di risultati per essere partizionata o che la query non è ancora supportata per il partizionamento. |
nextPageToken |
Un token di pagina che può essere utilizzato per richiedere un set aggiuntivo di risultati, fino al numero specificato da |
Ambiti di autorizzazione
Richiede uno dei seguenti ambiti OAuth:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
Per ulteriori informazioni, consulta la Panoramica dell'autenticazione.