Partitionne une requête en renvoyant des curseurs de partition qui peuvent être utilisés pour exécuter la requête en parallèle. Les curseurs de partition renvoyés sont des points de partage qui peuvent être utilisés par documents.runQuery comme points de départ/fin pour les résultats de la requête.
Requête HTTP
POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery
L'URL utilise la syntaxe de transcodage gRPC .
Paramètres du chemin
Paramètres | |
---|---|
parent | Requis. Le nom de la ressource parent. Au format : |
Corps de la demande
Le corps de la requête contient des données avec la structure suivante :
Représentation JSON |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
Des champs | |
---|---|
partitionCount | Le nombre maximum souhaité de points de partition. Les partitions peuvent être renvoyées sur plusieurs pages de résultats. Le nombre doit être positif. Le nombre réel de partitions renvoyées peut être inférieur. Par exemple, cela peut être défini sur une de moins que le nombre de requêtes parallèles à exécuter, ou, lors de l'exécution d'une tâche de pipeline de données, sur une de moins que le nombre de nœuds de calcul ou d'instances de calcul disponibles. |
pageToken | Valeur Par exemple, deux appels ultérieurs utilisant un pageToken peuvent renvoyer :
Pour obtenir un jeu de résultats complet ordonné par rapport aux résultats de la requête fournie à documents.partitionQuery, les jeux de résultats doivent être fusionnés : curseur A, curseur B, curseur M, curseur Q, curseur U, curseur W. |
pageSize | Nombre maximum de partitions à renvoyer dans cet appel, soumis à Par exemple, si |
Champ d'union query_type . La requête à partitionner. query_type ne peut être qu'un des éléments suivants : | |
structuredQuery | Une requête structurée. La requête doit spécifier une collection avec tous les descendants et être classée par nom croissant. Les autres filtres, tris, limites, décalages et curseurs de début/fin ne sont pas pris en charge. |
Champ d'union consistency_selector . Le mode de cohérence pour cette requête. S’il n’est pas défini, la cohérence est forte par défaut. consistency_selector ne peut être que l'un des éléments suivants : | |
readTime | Lit les documents tels qu'ils étaient à un moment donné. Il doit s'agir d'un horodatage précis à la microseconde au cours de la dernière heure, ou si la récupération ponctuelle est activée, il peut également s'agir d'un horodatage d'une minute entière au cours des 7 derniers jours. Un horodatage au format RFC3339 UTC "Zulu", avec une résolution en nanosecondes et jusqu'à neuf chiffres fractionnaires. Exemples : |
Corps de réponse
La réponse pour Firestore.PartitionQuery
.
En cas de succès, le corps de la réponse contient des données avec la structure suivante :
Représentation JSON |
---|
{
"partitions": [
{
object ( |
Des champs | |
---|---|
partitions[] | Résultats des partitions. Chaque partition est un point de partage qui peut être utilisé par documents.runQuery comme point de départ ou de fin pour les résultats de la requête. Les requêtes documents.runQuery doivent être effectuées avec la même requête fournie à cette requête documents.partitionQuery. Les curseurs de partition seront classés selon le même ordre que les résultats de la requête fournie à documents.partitionQuery. Par exemple, si une requête documents.partitionQuery renvoie les curseurs de partition A et B, l'exécution des trois requêtes suivantes renverra l'intégralité du jeu de résultats de la requête d'origine :
Un résultat vide peut indiquer que la requête contient trop peu de résultats pour être partitionnée ou que la requête n'est pas encore prise en charge pour le partitionnement. |
nextPageToken | Jeton de page qui peut être utilisé pour demander un ensemble supplémentaire de résultats, jusqu'au nombre spécifié par |
Portées des autorisations
Nécessite l'une des étendues OAuth suivantes :
-
https://www.googleapis.com/auth/datastore
-
https://www.googleapis.com/auth/cloud-platform
Pour plus d'informations, consultez la Présentation de l'authentification .