FeedOptions interface
As opções de feed e os métodos de consulta.
- Extends
Propriedades
access |
Condições Associadas ao pedido. |
buffer |
Ative a colocação em memória intermédia de itens adicionais durante as consultas. Predefinição: falso Isto irá colocar uma página adicional em memória intermédia de cada vez (multiplicada por maxDegreeOfParallelism) do servidor em segundo plano.
Isto melhora a latência ao obter as páginas antes de serem necessárias pelo cliente. Se estiver a drenar todos os resultados do servidor, como |
continuation | Token opaco para continuar a enumeração. Predefinição: indefinido |
continuation |
Token opaco para continuar a enumeração. Predefinição: indefinido |
continuation |
Limita o tamanho do token de continuação na resposta. Predefinição: indefinido Os Tokens de Continuação contêm dados opcionais que podem ser removidos da serialização antes de os escrever num cabeçalho. Por predefinição, estamos a limitar isto a 1 kb para evitar cabeçalhos longos (Node.js tem um limite de tamanho de cabeçalho global). Um utilizador pode definir este campo para permitir cabeçalhos mais longos, o que pode ajudar a otimizar a execução de consultas de back-end." |
enable |
Permitir a análise nas consultas que não puderam ser servidas como indexação foi desativada nos caminhos pedidos. Predefinição: falso Em geral, é melhor evitar utilizar esta definição. As análises são relativamente caras e demoram muito tempo a servir. |
force |
Esta definição força a consulta a utilizar um plano de consulta. Predefinição: falso Nota: esta ação irá desativar o suporte do token de continuação, mesmo para consultas de partição única. Para consultas como agregações e a maioria das consultas entre partições, isto acontece mesmo assim. No entanto, uma vez que a biblioteca não sabe que tipo de consulta é até obtermos a primeira resposta, algumas otimizações só poderão ocorrer mais tarde. Se esta definição estiver ativada, forçará o plano de consulta para a consulta, o que irá guardar alguns pedidos de rede e garantir que o paralelismo pode ocorrer. Útil para quando sabe que está a fazer consultas entre partições ou agregações. |
max |
O número máximo de operações simultâneas que executam o lado do cliente durante a execução paralela de consultas no serviço de base de dados do Azure Cosmos DB. Os valores negativos fazem com que o sistema decida automaticamente o número de operações simultâneas a executar. Predefinição: 0 (sem paralelismo) |
max |
Número máximo de itens a devolver na operação de enumeração. Predefinição: indefinido (payload definido pelo servidor) A expiração com este valor pode, normalmente, resultar nas maiores alterações de desempenho da consulta. Quanto menor for a contagem de itens, mais rápido será entregue o primeiro resultado (para não agregados). Para quantidades maiores, a execução do pedido demorará mais tempo, mas normalmente obterá um melhor débito para consultas grandes (ou seja, se precisar de 1000 itens antes de poder efetuar outras ações, defina |
partition |
Limita a consulta a uma chave de partição específica. Predefinição: indefinido O âmbito de uma consulta para uma única partição pode ser realizado de duas formas:
O primeiro é útil quando o corpo da consulta está fora do seu controlo, mas ainda pretende restringi-lo a uma única partição. Exemplo: uma consulta especificada pelo utilizador final. |
populate |
Ative a devolução de métricas de índice nos cabeçalhos de resposta. Predefinição: falso |
populate |
Ative a devolução de métricas de consulta nos cabeçalhos de resposta. Predefinição: falso Utilizado para depurar consultas lentas ou dispendiosas. Também aumenta o tamanho da resposta e, se estiver a utilizar um tamanho de cabeçalho máximo baixo no Node.js, pode deparar-se com problemas mais rapidamente. |
use |
Nota: considere utilizar o changeFeed como alternativa. Indica um pedido de feed de alterações. Tem de ser definido como "Feed incremental" ou omitido de outra forma. Predefinição: falso |
Propriedades Herdadas
abort |
abortSignal para transmitir a todos os pedidos de rede subjacentes criados por esta chamada de método. Veja https://developer.mozilla.org/en-US/docs/Web/API/AbortController Exemplo Cancelar um pedido de leitura
|
initial |
(Caso de utilização avançado) Cabeçalhos iniciais para começar quando enviar pedidos para o Cosmos |
max |
Define o valor de estagnação associado ao pedido no serviço Azure CosmosDB. Para pedidos em que as <xref:com.azure.cosmos.ConsistencyLevel> respostas is <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> ou <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, da cache integrada não são garantidas como obsoletas do que o valor indicado por este maxIntegratedCacheStaleness. Quando o nível de consistência não está definido, esta propriedade é ignorada. O valor predefinido é nulo A Estagnação da Cache é suportada em milissegundos de granularidade. Qualquer coisa menor que milissegundos será ignorada. |
priority |
Nível de Prioridade (Baixo/Alto) para cada pedido. Os pedidos de baixa prioridade são sempre limitados antes de quaisquer pedidos de alta prioridade. O valor predefinido é nulo. Por predefinição, todos os pedidos são de Alta prioridade |
session |
Ativa/desativa a obtenção de estatísticas relacionadas com a quota de contentor de documentos para pedidos de leitura de contentores de documentos. |
Detalhes de Propriedade
accessCondition
Condições Associadas ao pedido.
accessCondition?: { condition: string, type: string }
Valor de Propriedade
{ condition: string, type: string }
bufferItems
Ative a colocação em memória intermédia de itens adicionais durante as consultas. Predefinição: falso
Isto irá colocar uma página adicional em memória intermédia de cada vez (multiplicada por maxDegreeOfParallelism) do servidor em segundo plano.
Isto melhora a latência ao obter as páginas antes de serem necessárias pelo cliente. Se estiver a drenar todos os resultados do servidor, como .fetchAll
, normalmente deve ativá-lo. Se estiver a obter apenas uma página de cada vez através do token de continuação, deve evitá-lo. Se estiver a drenar mais do que uma página, mas não todo o conjunto de resultados, poderá ajudar a melhorar a latência, mas aumentará a quantidade total de RU/s utilizada para servir toda a consulta (uma vez que algumas páginas serão obtidas mais do que uma vez).
bufferItems?: boolean
Valor de Propriedade
boolean
continuation
Aviso
Esta API foi preterida.
Use continuationToken instead.
Token opaco para continuar a enumeração. Predefinição: indefinido
continuation?: string
Valor de Propriedade
string
continuationToken
Token opaco para continuar a enumeração. Predefinição: indefinido
continuationToken?: string
Valor de Propriedade
string
continuationTokenLimitInKB
Limita o tamanho do token de continuação na resposta. Predefinição: indefinido
Os Tokens de Continuação contêm dados opcionais que podem ser removidos da serialização antes de os escrever num cabeçalho. Por predefinição, estamos a limitar isto a 1 kb para evitar cabeçalhos longos (Node.js tem um limite de tamanho de cabeçalho global). Um utilizador pode definir este campo para permitir cabeçalhos mais longos, o que pode ajudar a otimizar a execução de consultas de back-end."
continuationTokenLimitInKB?: number
Valor de Propriedade
number
enableScanInQuery
Permitir a análise nas consultas que não puderam ser servidas como indexação foi desativada nos caminhos pedidos. Predefinição: falso
Em geral, é melhor evitar utilizar esta definição. As análises são relativamente caras e demoram muito tempo a servir.
enableScanInQuery?: boolean
Valor de Propriedade
boolean
forceQueryPlan
Esta definição força a consulta a utilizar um plano de consulta. Predefinição: falso
Nota: esta ação irá desativar o suporte do token de continuação, mesmo para consultas de partição única.
Para consultas como agregações e a maioria das consultas entre partições, isto acontece mesmo assim. No entanto, uma vez que a biblioteca não sabe que tipo de consulta é até obtermos a primeira resposta, algumas otimizações só poderão ocorrer mais tarde.
Se esta definição estiver ativada, forçará o plano de consulta para a consulta, o que irá guardar alguns pedidos de rede e garantir que o paralelismo pode ocorrer. Útil para quando sabe que está a fazer consultas entre partições ou agregações.
forceQueryPlan?: boolean
Valor de Propriedade
boolean
maxDegreeOfParallelism
O número máximo de operações simultâneas que executam o lado do cliente durante a execução paralela de consultas no serviço de base de dados do Azure Cosmos DB. Os valores negativos fazem com que o sistema decida automaticamente o número de operações simultâneas a executar. Predefinição: 0 (sem paralelismo)
maxDegreeOfParallelism?: number
Valor de Propriedade
number
maxItemCount
Número máximo de itens a devolver na operação de enumeração. Predefinição: indefinido (payload definido pelo servidor)
A expiração com este valor pode, normalmente, resultar nas maiores alterações de desempenho da consulta.
Quanto menor for a contagem de itens, mais rápido será entregue o primeiro resultado (para não agregados). Para quantidades maiores, a execução do pedido demorará mais tempo, mas normalmente obterá um melhor débito para consultas grandes (ou seja, se precisar de 1000 itens antes de poder efetuar outras ações, defina maxItemCount
como 1000. Se conseguir começar a trabalhar após os primeiros 100, defina maxItemCount
como 100.)
maxItemCount?: number
Valor de Propriedade
number
partitionKey
Limita a consulta a uma chave de partição específica. Predefinição: indefinido
O âmbito de uma consulta para uma única partição pode ser realizado de duas formas:
container.items.query('SELECT * from c', { partitionKey: "foo" }).toArray()
container.items.query('SELECT * from c WHERE c.yourPartitionKey = "foo"').toArray()
O primeiro é útil quando o corpo da consulta está fora do seu controlo, mas ainda pretende restringi-lo a uma única partição. Exemplo: uma consulta especificada pelo utilizador final.
partitionKey?: PartitionKey
Valor de Propriedade
populateIndexMetrics
Ative a devolução de métricas de índice nos cabeçalhos de resposta. Predefinição: falso
populateIndexMetrics?: boolean
Valor de Propriedade
boolean
populateQueryMetrics
Ative a devolução de métricas de consulta nos cabeçalhos de resposta. Predefinição: falso
Utilizado para depurar consultas lentas ou dispendiosas. Também aumenta o tamanho da resposta e, se estiver a utilizar um tamanho de cabeçalho máximo baixo no Node.js, pode deparar-se com problemas mais rapidamente.
populateQueryMetrics?: boolean
Valor de Propriedade
boolean
useIncrementalFeed
Nota: considere utilizar o changeFeed como alternativa.
Indica um pedido de feed de alterações. Tem de ser definido como "Feed incremental" ou omitido de outra forma. Predefinição: falso
useIncrementalFeed?: boolean
Valor de Propriedade
boolean
Detalhes da Propriedade Herdada
abortSignal
abortSignal para transmitir a todos os pedidos de rede subjacentes criados por esta chamada de método. Veja https://developer.mozilla.org/en-US/docs/Web/API/AbortController
Exemplo
Cancelar um pedido de leitura
const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
abortSignal?: AbortSignal
Valor de Propriedade
AbortSignal
Herdado deSharedOptions.abortSignal
initialHeaders
(Caso de utilização avançado) Cabeçalhos iniciais para começar quando enviar pedidos para o Cosmos
initialHeaders?: CosmosHeaders
Valor de Propriedade
Herdado deSharedOptions.initialHeaders
maxIntegratedCacheStalenessInMs
Define o valor de estagnação associado ao pedido no serviço Azure CosmosDB. Para pedidos em que as <xref:com.azure.cosmos.ConsistencyLevel> respostas is <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> ou <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, da cache integrada não são garantidas como obsoletas do que o valor indicado por este maxIntegratedCacheStaleness. Quando o nível de consistência não está definido, esta propriedade é ignorada.
O valor predefinido é nulo
A Estagnação da Cache é suportada em milissegundos de granularidade. Qualquer coisa menor que milissegundos será ignorada.
maxIntegratedCacheStalenessInMs?: number
Valor de Propriedade
number
priorityLevel
Nível de Prioridade (Baixo/Alto) para cada pedido. Os pedidos de baixa prioridade são sempre limitados antes de quaisquer pedidos de alta prioridade.
O valor predefinido é nulo. Por predefinição, todos os pedidos são de Alta prioridade
priorityLevel?: PriorityLevel
Valor de Propriedade
Herdado deSharedOptions.priorityLevel
sessionToken
Ativa/desativa a obtenção de estatísticas relacionadas com a quota de contentor de documentos para pedidos de leitura de contentores de documentos.
sessionToken?: string
Valor de Propriedade
string
Herdado deSharedOptions.sessionToken