FeedOptions interface
As opções de feed e os métodos de consulta.
- Extends
Propriedades
access |
Condições associadas à solicitação. |
allow |
Válido somente para ordem de não streaming por consulta. Padrão: false; Quando definido como true, ele permite que as consultas ignorem o comportamento padrão que bloqueia consultas nãostreaming sem cláusulas superiores ou de limite. |
buffer |
Habilite o buffer de itens adicionais durante consultas. Padrão: false Isso armazenará em buffer uma página adicional por vez (multiplicada por maxDegreeOfParallelism) do servidor em segundo plano.
Isso melhora a latência buscando páginas antes que elas sejam necessárias para o cliente. Se você estiver drenando todos os resultados do servidor, como |
continuation | Token opaco para continuar a enumeração. Padrão: indefinido |
continuation |
Token opaco para continuar a enumeração. Padrão: indefinido |
continuation |
Limita o tamanho do token de continuação na resposta. Padrão: indefinido Os Tokens de Continuação contêm dados opcionais que podem ser removidos da serialização antes de escrevê-los em um cabeçalho. Por padrão, estamos limitando isso a 1kb para evitar cabeçalhos longos (Node.js tem um limite de tamanho de cabeçalho global). Um usuário pode definir esse campo para permitir cabeçalhos mais longos, o que pode ajudar o back-end a otimizar a execução da consulta." |
disable |
Desabilite o recurso de consulta nonStreamingOrderBy nos recursos de consulta com suporte. Padrão: false. Defina como true para evitar erros de um gateway antigo que não dá suporte a esse recurso. |
enable |
Permitir a verificação nas consultas que não puderam ser atendidas, pois a indexação foi recusada nos caminhos solicitados. Padrão: false Em geral, é melhor evitar o uso dessa configuração. As verificações são relativamente caras e levam muito tempo para serem servidas. |
force |
Essa configuração força a consulta a usar um plano de consulta. Padrão: false Observação: isso desabilitará o suporte ao token de continuação, mesmo para consultas de partição única. Para consultas como agregações e a maioria das consultas de partição cruzada, isso acontece de qualquer maneira. No entanto, como a biblioteca não sabe que tipo de consulta ela é até que retornemos a primeira resposta, alguma otimização não poderá acontecer até mais tarde. Se essa configuração estiver habilitada, ela forçará o plano de consulta para a consulta, o que salvará algumas solicitações de rede e garantirá que o paralelismo possa acontecer. Útil para quando você sabe que está fazendo consultas de partição cruzada ou agregação. |
max |
O número máximo de operações simultâneas que executam o lado do cliente durante a execução de consulta paralela no serviço de banco de dados do Azure Cosmos DB. Valores negativos fazem com que o sistema decida automaticamente o número de operações simultâneas a serem executadas. Padrão: 0 (sem paralelismo) |
max |
Número máximo de itens a serem retornados na operação de enumeração. Padrão: indefinido (o servidor definirá o conteúdo) A expiração com esse valor geralmente pode resultar nas maiores alterações de desempenho na consulta. Quanto menor a contagem de itens, mais rápido o primeiro resultado será entregue (para não agregações). Para valores maiores, levará mais tempo para atender à solicitação, mas você geralmente obterá uma taxa de transferência melhor para consultas grandes (ou seja, se precisar de 1.000 itens antes de realizar outras ações, defina |
partition |
Limita a consulta a uma chave de partição específica. Padrão: indefinido O escopo de uma consulta para uma única partição pode ser feito de duas maneiras:
O primeiro é útil quando o corpo da consulta está fora de seu controle, mas você ainda deseja restringi-lo a uma única partição. Exemplo: uma consulta especificada pelo usuário final. |
populate |
Habilite o retorno de métricas de índice em cabeçalhos de resposta. Padrão: false |
populate |
Habilite o retorno de métricas de consulta em cabeçalhos de resposta. Padrão: false Usado para depurar consultas lentas ou caras. Também aumenta o tamanho da resposta e, se você estiver usando um tamanho de cabeçalho máximo baixo em Node.js, poderá encontrar problemas mais rapidamente. |
use |
Observação: considere usar o changeFeed em vez disso. Indica uma solicitação de feed de alterações. Deve ser definido como "Feed incremental" ou omitido de outra forma. Padrão: false |
vector |
Especifica um tamanho máximo de buffer personalizado para armazenar os resultados finais para consultas nonStreamingOrderBy. Esse valor será ignorado se a consulta incluir cláusulas top/offset+limit. |
Propriedades herdadas
abort |
abortSignal para passar para todas as solicitações de rede subjacentes criadas por essa chamada de método. Consulte https://developer.mozilla.org/en-US/docs/Web/API/AbortController exemplo Cancelar uma solicitação de leitura
|
bypass |
Define se o cache integrado deve ser ignorado ou habilitado para a solicitação no serviço do Azure CosmosDB. O valor padrão é falso. Por padrão, o cache integrado está habilitado |
initial |
(Caso de uso avançado) Cabeçalhos iniciais a serem iniciados ao enviar solicitações para o Cosmos |
max |
Define o valor de desatualização associado à solicitação no serviço do Azure CosmosDB. Para solicitações em que o <xref:com.azure.cosmos.ConsistencyLevel> é <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> ou <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, as respostas do cache integrado não são mais obsoletas do que o valor indicado por esse maxIntegratedCacheStaleness. Quando o nível de consistência não é definido, essa propriedade é ignorada. O valor padrão é nulo Há suporte para desatualização do cache na granularidade de milissegundos. Qualquer coisa menor que milissegundos será ignorada. |
priority |
Nível de prioridade (baixo/alto) para cada solicitação. As solicitações de baixa prioridade são sempre limitadas antes de solicitações de alta prioridade. O valor padrão é nulo. Por padrão, todas as solicitações são de alta prioridade |
session |
Habilita/desabilita a obtenção de estatísticas relacionadas à cota de contêiner de documentos para solicitações de leitura de contêiner de documento. |
Detalhes da propriedade
accessCondition
Condições associadas à solicitação.
accessCondition?: { condition: string, type: string }
Valor da propriedade
{ condition: string, type: string }
allowUnboundedNonStreamingQueries
Válido somente para ordem de não streaming por consulta. Padrão: false; Quando definido como true, ele permite que as consultas ignorem o comportamento padrão que bloqueia consultas nãostreaming sem cláusulas superiores ou de limite.
allowUnboundedNonStreamingQueries?: boolean
Valor da propriedade
boolean
bufferItems
Habilite o buffer de itens adicionais durante consultas. Padrão: false
Isso armazenará em buffer uma página adicional por vez (multiplicada por maxDegreeOfParallelism) do servidor em segundo plano.
Isso melhora a latência buscando páginas antes que elas sejam necessárias para o cliente. Se você estiver drenando todos os resultados do servidor, como .fetchAll
, você geralmente deve habilitá-lo. Se você estiver buscando apenas uma página de cada vez por meio de token de continuação, evite isso. Se você estiver drenando mais de uma página, mas não todo o conjunto de resultados, isso pode ajudar a melhorar a latência, mas aumentará a quantidade total de RU/s de uso para atender a consulta inteira (já que algumas páginas serão buscadas mais de uma vez).
bufferItems?: boolean
Valor da propriedade
boolean
continuation
Aviso
Essa API foi preterida.
Use continuationToken instead.
Token opaco para continuar a enumeração. Padrão: indefinido
continuation?: string
Valor da propriedade
string
continuationToken
Token opaco para continuar a enumeração. Padrão: indefinido
continuationToken?: string
Valor da propriedade
string
continuationTokenLimitInKB
Limita o tamanho do token de continuação na resposta. Padrão: indefinido
Os Tokens de Continuação contêm dados opcionais que podem ser removidos da serialização antes de escrevê-los em um cabeçalho. Por padrão, estamos limitando isso a 1kb para evitar cabeçalhos longos (Node.js tem um limite de tamanho de cabeçalho global). Um usuário pode definir esse campo para permitir cabeçalhos mais longos, o que pode ajudar o back-end a otimizar a execução da consulta."
continuationTokenLimitInKB?: number
Valor da propriedade
number
disableNonStreamingOrderByQuery
Desabilite o recurso de consulta nonStreamingOrderBy nos recursos de consulta com suporte. Padrão: false. Defina como true para evitar erros de um gateway antigo que não dá suporte a esse recurso.
disableNonStreamingOrderByQuery?: boolean
Valor da propriedade
boolean
enableScanInQuery
Permitir a verificação nas consultas que não puderam ser atendidas, pois a indexação foi recusada nos caminhos solicitados. Padrão: false
Em geral, é melhor evitar o uso dessa configuração. As verificações são relativamente caras e levam muito tempo para serem servidas.
enableScanInQuery?: boolean
Valor da propriedade
boolean
forceQueryPlan
Essa configuração força a consulta a usar um plano de consulta. Padrão: false
Observação: isso desabilitará o suporte ao token de continuação, mesmo para consultas de partição única.
Para consultas como agregações e a maioria das consultas de partição cruzada, isso acontece de qualquer maneira. No entanto, como a biblioteca não sabe que tipo de consulta ela é até que retornemos a primeira resposta, alguma otimização não poderá acontecer até mais tarde.
Se essa configuração estiver habilitada, ela forçará o plano de consulta para a consulta, o que salvará algumas solicitações de rede e garantirá que o paralelismo possa acontecer. Útil para quando você sabe que está fazendo consultas de partição cruzada ou agregação.
forceQueryPlan?: boolean
Valor da propriedade
boolean
maxDegreeOfParallelism
O número máximo de operações simultâneas que executam o lado do cliente durante a execução de consulta paralela no serviço de banco de dados do Azure Cosmos DB. Valores negativos fazem com que o sistema decida automaticamente o número de operações simultâneas a serem executadas. Padrão: 0 (sem paralelismo)
maxDegreeOfParallelism?: number
Valor da propriedade
number
maxItemCount
Número máximo de itens a serem retornados na operação de enumeração. Padrão: indefinido (o servidor definirá o conteúdo)
A expiração com esse valor geralmente pode resultar nas maiores alterações de desempenho na consulta.
Quanto menor a contagem de itens, mais rápido o primeiro resultado será entregue (para não agregações). Para valores maiores, levará mais tempo para atender à solicitação, mas você geralmente obterá uma taxa de transferência melhor para consultas grandes (ou seja, se precisar de 1.000 itens antes de realizar outras ações, defina maxItemCount
como 1000. Se você puder começar a trabalhar após os primeiros 100, defina maxItemCount
como 100.)
maxItemCount?: number
Valor da propriedade
number
partitionKey
Limita a consulta a uma chave de partição específica. Padrão: indefinido
O escopo de uma consulta para uma única partição pode ser feito de duas maneiras:
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 de seu controle, mas você ainda deseja restringi-lo a uma única partição. Exemplo: uma consulta especificada pelo usuário final.
partitionKey?: PartitionKey
Valor da propriedade
populateIndexMetrics
Habilite o retorno de métricas de índice em cabeçalhos de resposta. Padrão: false
populateIndexMetrics?: boolean
Valor da propriedade
boolean
populateQueryMetrics
Habilite o retorno de métricas de consulta em cabeçalhos de resposta. Padrão: false
Usado para depurar consultas lentas ou caras. Também aumenta o tamanho da resposta e, se você estiver usando um tamanho de cabeçalho máximo baixo em Node.js, poderá encontrar problemas mais rapidamente.
populateQueryMetrics?: boolean
Valor da propriedade
boolean
useIncrementalFeed
Observação: considere usar o changeFeed em vez disso.
Indica uma solicitação de feed de alterações. Deve ser definido como "Feed incremental" ou omitido de outra forma. Padrão: false
useIncrementalFeed?: boolean
Valor da propriedade
boolean
vectorSearchBufferSize
Especifica um tamanho máximo de buffer personalizado para armazenar os resultados finais para consultas nonStreamingOrderBy. Esse valor será ignorado se a consulta incluir cláusulas top/offset+limit.
vectorSearchBufferSize?: number
Valor da propriedade
number
Detalhes das propriedades herdadas
abortSignal
abortSignal para passar para todas as solicitações de rede subjacentes criadas por essa chamada de método. Consulte https://developer.mozilla.org/en-US/docs/Web/API/AbortController
exemplo
Cancelar uma solicitação de leitura
const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
abortSignal?: AbortSignal
Valor da propriedade
AbortSignal
Herdado deSharedOptions.abortSignal
bypassIntegratedCache
Define se o cache integrado deve ser ignorado ou habilitado para a solicitação no serviço do Azure CosmosDB.
O valor padrão é falso. Por padrão, o cache integrado está habilitado
bypassIntegratedCache?: boolean
Valor da propriedade
boolean
herdado deSharedOptions.bypassIntegratedCache
initialHeaders
(Caso de uso avançado) Cabeçalhos iniciais a serem iniciados ao enviar solicitações para o Cosmos
initialHeaders?: CosmosHeaders
Valor da propriedade
herdado deSharedOptions.initialHeaders
maxIntegratedCacheStalenessInMs
Define o valor de desatualização associado à solicitação no serviço do Azure CosmosDB. Para solicitações em que o <xref:com.azure.cosmos.ConsistencyLevel> é <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> ou <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, as respostas do cache integrado não são mais obsoletas do que o valor indicado por esse maxIntegratedCacheStaleness. Quando o nível de consistência não é definido, essa propriedade é ignorada.
O valor padrão é nulo
Há suporte para desatualização do cache na granularidade de milissegundos. Qualquer coisa menor que milissegundos será ignorada.
maxIntegratedCacheStalenessInMs?: number
Valor da propriedade
number
priorityLevel
Nível de prioridade (baixo/alto) para cada solicitação. As solicitações de baixa prioridade são sempre limitadas antes de solicitações de alta prioridade.
O valor padrão é nulo. Por padrão, todas as solicitações são de alta prioridade
priorityLevel?: PriorityLevel
Valor da propriedade
Herdado deSharedOptions.priorityLevel
sessionToken
Habilita/desabilita a obtenção de estatísticas relacionadas à cota de contêiner de documentos para solicitações de leitura de contêiner de documento.
sessionToken?: string
Valor da propriedade
string
Herdado deSharedOptions.sessionToken