Particiona una consulta con la devolución de cursores de partición que se pueden usar para ejecutar la consulta en paralelo. Los cursores de partición que se muestran son puntos de división que document.runQuery puede usar como puntos de partida y de destino para los resultados de la consulta.
Solicitud HTTP
POST https://firestore.googleapis.com/v1beta1/{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, esto puede establecerse en una menos que la cantidad de consultas paralelas que se ejecutarán o, en la ejecución de un trabajo de canalización de datos, una menos que la cantidad de trabajadores o instancias de procesamiento disponibles. |
pageToken |
El valor Por ejemplo, dos llamadas posteriores que usan un pageToken pueden mostrar el siguiente resultado:
Para obtener un conjunto de resultados completo ordenado con respecto a los resultados de la consulta suministrada a document.partQuery, 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á. Las direcciones (query_type ) solo pueden ser una de las siguientes opciones: |
|
structuredQuery |
Una consulta estructurada. La consulta debe especificar la colección con todos los elementos subordinados y ordenarse de forma ascendente por nombre. No se admiten otros filtros, valores de ordenamiento, límites, desplazamientos ni cursores de inicio y fin. |
Campo de unión consistency_selector . El modo de coherencia para esta solicitud. Si no está configurado, se establece de forma predeterminada para una coherencia sólida. Las direcciones (consistency_selector ) solo pueden ser una de las siguientes opciones: |
|
readTime |
Lee los documentos tal como estaban en el momento indicado. Debe ser una marca de tiempo con precisión de microsegundos dentro de la última hora o, si está habilitada 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 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 contendrá datos con la siguiente estructura:
Representación JSON |
---|
{
"partitions": [
{
object ( |
Campos | |
---|---|
partitions[] |
Resultados de la partición. Cada partición es un punto de división que puede usar document.runQuery como punto de partida o finalización para los resultados de la consulta. Las solicitudes document.runQuery se deben realizar con la misma consulta proporcionada a esta solicitud document.PrepartQuery. Los cursores de partición se ordenarán de acuerdo con el mismo orden que los resultados de la consulta suministrada a document.PARTITIONQuery. Por ejemplo, si una solicitud document.PrepartQuery muestra los cursores de partición A y B, ejecutar las siguientes tres consultas devolverá todo el conjunto de resultados de la consulta original:
Un resultado vacío puede indicar que la consulta tiene muy pocos resultados para particionar 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 |
Permisos de autorización
Se necesita uno de los siguientes alcances 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.