Particiona una consulta mediante la devolución de cursores de partición que se pueden usar para ejecutar la consulta en paralelo. Los cursores de partición devueltos son puntos de división que se pueden usar en documentos.runQuery como puntos de inicio y finalización para los resultados de la consulta.
Solicitud HTTP
POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:partitionQuery
La URL usa la sintaxis de la transcodificación gRPC.
Parámetros de ruta de acceso
Parámetros | |
---|---|
parent |
Obligatorio. El nombre del recurso superior. En el formato |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
Campos | |
---|---|
partitionCount |
La cantidad máxima deseada de puntos de partición. Las particiones se pueden mostrar en varias páginas de resultados. El número debe ser positivo. La cantidad real de particiones que se muestran puede ser menor. Por ejemplo, se puede establecer en uno menos que la cantidad de consultas paralelas que se ejecutarán o, en la ejecución de un trabajo de canalización de datos, en uno menos que la cantidad de trabajadores o instancias de procesamiento disponibles. |
pageToken |
El valor Por ejemplo, pueden devolverse dos llamadas posteriores con un pageToken:
Para obtener un conjunto de resultados completo ordenado con respecto a los resultados de la consulta suministrada a documentes.partitionQuery, los conjuntos de resultados deben combinarse: cursor A, cursor B, cursor M, cursor Q, cursor U, cursor W |
pageSize |
La cantidad máxima de particiones que se mostrarán en esta llamada, sujeta a Por ejemplo, si |
Campo de unión query_type . La consulta que se particionará. query_type puede ser solo uno de los siguientes: |
|
structuredQuery |
Una consulta estructurada. La consulta debe especificar la colección con todos los elementos subordinados y estar ordenada por nombre de forma ascendente. No se admiten otros filtros, ordenamientos por, límites, desplazamientos ni cursores de inicio/finalización. |
Campo de unión consistency_selector . El modo de coherencia para esta solicitud. Si no está configurado, se establece de forma predeterminada en la coherencia sólida. consistency_selector puede ser solo uno de los siguientes: |
|
readTime |
Lee los documentos tal como estaban en un momento determinado. Debe ser una marca de tiempo con precisión de microsegundos dentro de la última hora o, si se habilitó la recuperación de un momento determinado, también puede ser una marca de tiempo de un minuto completo dentro de los últimos 7 días. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
Cuerpo de la respuesta
La respuesta para Firestore.PartitionQuery
.
Si se ejecuta correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON |
---|
{
"partitions": [
{
object ( |
Campos | |
---|---|
partitions[] |
Particionar los resultados. Cada partición es un punto de división que document.runQuery puede usar como punto de partida o de finalización para los resultados de la consulta. Las solicitudes de documentos.runQuery se deben realizar con la misma consulta que se proporciona a esta solicitud de document.partitionQuery. Los cursores de partición se ordenarán de acuerdo con el mismo orden que los resultados de la consulta suministrada a documents.partitionQuery. Por ejemplo, si una solicitud document.partitionQuery muestra cursores de partición A y B, ejecutar las siguientes tres consultas mostrará todo el conjunto de resultados de la consulta original:
Un resultado vacío puede indicar que la consulta tiene muy pocos resultados para particionarse o que aún no es compatible con la partición. |
nextPageToken |
Un token de página que se puede usar para solicitar un conjunto adicional de resultados, hasta el número especificado por |
Alcances de autorización
Se necesita uno de los siguientes permisos de OAuth:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
Para obtener más información, consulta Descripción general de la autenticación.