Particiona uma consulta retornando cursores de partição que podem ser usados para executar a consulta em paralelo. Os cursores de partição retornados são pontos de divisão que podem ser usados por Docs.runQuery como pontos de partida/término para os resultados da consulta.
Solicitação HTTP
POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:partitionQuery
O URL usa a sintaxe de transcodificação gRPC.
Parâmetros de caminho
Parâmetros | |
---|---|
parent |
Obrigatório. O nome do recurso pai. Use o formato: |
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Representação JSON |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
Campos | |
---|---|
partitionCount |
O número máximo desejado de pontos de partição. As partições podem ser retornadas em várias páginas de resultados. O número precisa ser positivo. O número real de partições retornadas pode ser menor. Por exemplo, isso pode ser definido como um a menos do que o número de consultas paralelas a serem executadas ou, na execução de um job de pipeline de dados, um a menos do que o número de workers ou instâncias de computação disponíveis. |
pageToken |
O valor Por exemplo, duas chamadas subsequentes que usam um pageToken podem retornar:
Para obter um conjunto de resultados completo ordenado em relação aos resultados da consulta fornecida para Docs.partitionQuery, os conjuntos de resultados devem ser mesclados: cursor A, cursor B, cursor M, cursor Q, cursor U, cursor W. |
pageSize |
O número máximo de partições a serem retornadas nessa chamada, sujeito a Por exemplo, se |
Campo de união query_type . A consulta a ser particionada. query_type pode ser apenas de um dos tipos a seguir: |
|
structuredQuery |
Uma consulta estruturada. A consulta precisa especificar a coleção com todos os descendentes e ser ordenada por nome em ordem crescente. Outros filtros, ordenação, limites, deslocamentos e cursores de início/fim não são compatíveis. |
Campo de união consistency_selector . O modo de consistência dessa solicitação. Se não for definido, o padrão é consistência forte. consistency_selector pode ser apenas de um dos tipos a seguir: |
|
readTime |
Lê os documentos como estavam no momento especificado. Precisa ser um carimbo de data/hora com precisão de microssegundos na última hora ou, se a recuperação pontual estiver ativada, também poderá ser um carimbo de data/hora de um minuto inteiro nos últimos sete dias. Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: |
Corpo da resposta
A resposta para Firestore.PartitionQuery
.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Representação JSON |
---|
{
"partitions": [
{
object ( |
Campos | |
---|---|
partitions[] |
Resultados da partição. Cada partição é um ponto de divisão que pode ser usado pelo Docs.runQuery como ponto inicial ou final para os resultados da consulta. As solicitações documentation.runQuery devem ser feitas com a mesma consulta fornecida a esta solicitação Docs.partitionQuery. Os cursores de partição serão ordenados de acordo com a mesma ordem dos resultados da consulta fornecida a documents.partitionQuery. Por exemplo, se uma solicitação Docs.partitionQuery retorna os cursores de partição A e B, a execução das três consultas a seguir retorna todo o conjunto de resultados da consulta original:
Um resultado vazio pode indicar que a consulta tem poucos resultados para serem particionados ou que ela ainda não é compatível com particionamento. |
nextPageToken |
Um token de página que pode ser usado para solicitar um conjunto adicional de resultados, até o número especificado por |
Escopos de autorização
Requer um dos seguintes escopos de OAuth:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
Para saber mais, consulte a Visão geral da autenticação.