Partilhar via


FeedOptions interface

As opções de feed e os métodos de consulta.

Extends

Propriedades

accessCondition

Condições associadas ao pedido.

allowUnboundedNonStreamingQueries

Válido apenas 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 que não são de streaming sem cláusulas de topo ou limite.

bufferItems

Habilite o armazenamento em buffer de itens adicionais durante as consultas. Padrão: false

Isso armazenará em buffer uma página adicional de cada vez (multiplicada por maxDegreeOfParallelism) do servidor em segundo plano. Isso melhora a latência ao buscar páginas antes que elas sejam necessárias para o cliente. Se você estiver drenando todos os resultados do servidor, como .fetchAll, geralmente deve habilitar isso. Se você estiver buscando apenas uma página de cada vez por meio do token de continuação, você deve evitar 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 usados para servir a consulta inteira (já que algumas páginas serão buscadas mais de uma vez).

continuation

Token opaco para continuar a enumeração. Padrão: indefinido

continuationToken

Token opaco para continuar a enumeração. Padrão: indefinido

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 gravá-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."

disableHybridSearchQueryPlanOptimization

Padrão: false. Se definido como true, ele desativa a otimização do plano de consulta de pesquisa híbrida. Essa otimização é habilitada por padrão e é usada para melhorar o desempenho de consultas de pesquisa híbridas.

disableNonStreamingOrderByQuery

Desative o recurso de consulta nonStreamingOrderBy nos recursos de consulta suportados. Padrão: false. Defina como true para evitar erros de um gateway antigo que não suporta esse recurso.

enableQueryControl

Controla o comportamento de execução da consulta. Padrão: false. Se definida como false, a consulta tentará novamente até que os resultados estejam prontos e maxItemCount sejam alcançados, o que pode levar tempo para partições grandes com dados relativamente pequenos. Se definido como true, verifica partições até maxDegreeOfParallelism, adiciona resultados ao buffer e retorna o que está disponível. Se os resultados não estiverem prontos, ele retornará uma resposta vazia.

enableScanInQuery

Permitir varredura nas consultas que não puderam ser atendidas, pois a indexação foi desativada nos caminhos solicitados. Padrão: false

Em geral, é melhor evitar o uso dessa configuração. As digitalizações são relativamente caras e demoram muito tempo a servir.

forceQueryPlan

Essa configuração força a consulta a usar um plano de consulta. Padrão: false

Nota: isso desativará o suporte a token de continuação, mesmo para consultas de partição única.

Para consultas como agregados 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 é até que recebamos a primeira resposta, alguma otimização não pode 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 entre partições ou agregação.

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)

maxItemCount

Número máximo de itens a serem retornados na operação de enumeração. Padrão: indefinido (o servidor definirá a carga útil)

A expiração com esse valor geralmente pode resultar nas maiores alterações de desempenho da consulta.

Quanto menor a contagem de itens, mais rápido o primeiro resultado será entregue (para não agregados). Para quantidades 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 1000 itens antes de poder fazer qualquer outra ação, defina maxItemCount como 1000. Se você puder começar a trabalhar após os primeiros 100, defina maxItemCount como 100.)

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 realizado 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 do seu controle, mas você ainda deseja restringi-lo a uma única partição. Exemplo: uma consulta especificada pelo usuário final.

populateIndexMetrics

Habilite o retorno de métricas de índice em cabeçalhos de resposta. Padrão: false

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 máximo de cabeçalho baixo no Node.js, poderá ter problemas mais rapidamente.

useIncrementalFeed

Nota: considere usar changeFeed em vez disso.

Indica uma solicitação de feed de alteração. Deve ser definido como "Alimentação incremental" ou omitido de outra forma. Padrão: false

vectorSearchBufferSize

Especifica um tamanho máximo de buffer personalizado para armazenar resultados finais para consultas não StreamingOrderBy. Esse valor será ignorado se a consulta incluir cláusulas top/offset+limit.

Propriedades Herdadas

abortSignal

abortSignal para passar para todas as solicitações de rede subjacentes criadas por essa chamada de método. Veja https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Exemplo

Cancelar um pedido de leitura

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });

const { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const controller = new AbortController();
const results = container.items.query("SELECT * from c", {
  abortSignal: controller.signal,
});
bypassIntegratedCache

Define se o cache integrado deve ser ignorado ou habilitado para a solicitação no serviço Azure CosmosDB.

O valor padrão é false. Por padrão, o cache integrado está habilitado

consistencyLevel

Nível de consistência exigido pelo cliente.

disableRUPerMinuteUsage

DisableRUPerMinuteUsage é usado para habilitar/desabilitar a capacidade de Unidades de Solicitação (RUs)/minuto para atender à solicitação se RUs/segundo provisionados regulares estiverem esgotados.

excludedLocations

Exclui uma ou mais regiões do Azure para a operação.

Essa opção só é aplicada quando enableEndPointDiscovery é definido como true.

initialHeaders

(Caso de uso avançado) Cabeçalhos iniciais para começar ao enviar solicitações para o Cosmos

maxIntegratedCacheStalenessInMs

Define o valor de atraso associado à solicitação no serviço 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 têm a garantia de não serem mais estáveis do que o valor indicado por este maxIntegratedCacheStaleness. Quando o nível de consistência não é definido, essa propriedade é ignorada.

O valor padrão é null

O Cache Staleness é suportado em granularidade de milissegundos. Qualquer coisa menor que milissegundos será ignorada.

priorityLevel

Nível de Prioridade (Baixo/Alto) para cada solicitação. As solicitações de baixa prioridade são sempre limitadas antes de qualquer solicitação de alta prioridade.

O valor padrão é null. Por padrão, todas as solicitações são de alta prioridade

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 documentos.

throughputBucket

Bucket de taxa de transferência para uma solicitação.

O valor padrão é null. Nesse caso, a solicitação pode usar 100% da taxa de transferência da partição.

Para obter mais informações, visite [Bucketing de taxa de transferência do Cosmos DB](https://aka.ms/cosmsodb-bucketing).

Detalhes de Propriedade

accessCondition

Condições associadas ao pedido.

accessCondition?: { condition: string, type: string }

Valor de Propriedade

{ condition: string, type: string }

allowUnboundedNonStreamingQueries

Válido apenas 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 que não são de streaming sem cláusulas de topo ou limite.

allowUnboundedNonStreamingQueries?: boolean

Valor de Propriedade

boolean

bufferItems

Habilite o armazenamento em buffer de itens adicionais durante as consultas. Padrão: false

Isso armazenará em buffer uma página adicional de cada vez (multiplicada por maxDegreeOfParallelism) do servidor em segundo plano. Isso melhora a latência ao buscar páginas antes que elas sejam necessárias para o cliente. Se você estiver drenando todos os resultados do servidor, como .fetchAll, geralmente deve habilitar isso. Se você estiver buscando apenas uma página de cada vez por meio do token de continuação, você deve evitar 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 usados para servir a consulta inteira (já que algumas páginas serão buscadas mais de uma vez).

bufferItems?: boolean

Valor de Propriedade

boolean

continuation

Aviso

Esta API foi preterida.

Use continuationToken instead.

Token opaco para continuar a enumeração. Padrão: indefinido

continuation?: string

Valor de Propriedade

string

continuationToken

Token opaco para continuar a enumeração. Padrão: indefinido

continuationToken?: string

Valor de 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 gravá-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 de Propriedade

number

disableHybridSearchQueryPlanOptimization

Padrão: false. Se definido como true, ele desativa a otimização do plano de consulta de pesquisa híbrida. Essa otimização é habilitada por padrão e é usada para melhorar o desempenho de consultas de pesquisa híbridas.

disableHybridSearchQueryPlanOptimization?: boolean

Valor de Propriedade

boolean

disableNonStreamingOrderByQuery

Desative o recurso de consulta nonStreamingOrderBy nos recursos de consulta suportados. Padrão: false. Defina como true para evitar erros de um gateway antigo que não suporta esse recurso.

disableNonStreamingOrderByQuery?: boolean

Valor de Propriedade

boolean

enableQueryControl

Controla o comportamento de execução da consulta. Padrão: false. Se definida como false, a consulta tentará novamente até que os resultados estejam prontos e maxItemCount sejam alcançados, o que pode levar tempo para partições grandes com dados relativamente pequenos. Se definido como true, verifica partições até maxDegreeOfParallelism, adiciona resultados ao buffer e retorna o que está disponível. Se os resultados não estiverem prontos, ele retornará uma resposta vazia.

enableQueryControl?: boolean

Valor de Propriedade

boolean

enableScanInQuery

Permitir varredura nas consultas que não puderam ser atendidas, pois a indexação foi desativada nos caminhos solicitados. Padrão: false

Em geral, é melhor evitar o uso dessa configuração. As digitalizações são relativamente caras e demoram muito tempo a servir.

enableScanInQuery?: boolean

Valor de Propriedade

boolean

forceQueryPlan

Essa configuração força a consulta a usar um plano de consulta. Padrão: false

Nota: isso desativará o suporte a token de continuação, mesmo para consultas de partição única.

Para consultas como agregados 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 é até que recebamos a primeira resposta, alguma otimização não pode 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 entre partições ou agregação.

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 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 de Propriedade

number

maxItemCount

Número máximo de itens a serem retornados na operação de enumeração. Padrão: indefinido (o servidor definirá a carga útil)

A expiração com esse valor geralmente pode resultar nas maiores alterações de desempenho da consulta.

Quanto menor a contagem de itens, mais rápido o primeiro resultado será entregue (para não agregados). Para quantidades 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 1000 itens antes de poder fazer qualquer outra ação, defina maxItemCount como 1000. Se você puder 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. Padrão: indefinido

O escopo de uma consulta para uma única partição pode ser realizado 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 do seu controle, mas você ainda deseja restringi-lo a uma única partição. Exemplo: uma consulta especificada pelo usuário final.

partitionKey?: PartitionKey

Valor de Propriedade

populateIndexMetrics

Habilite o retorno de métricas de índice em cabeçalhos de resposta. Padrão: false

populateIndexMetrics?: boolean

Valor de 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 máximo de cabeçalho baixo no Node.js, poderá ter problemas mais rapidamente.

populateQueryMetrics?: boolean

Valor de Propriedade

boolean

useIncrementalFeed

Nota: considere usar changeFeed em vez disso.

Indica uma solicitação de feed de alteração. Deve ser definido como "Alimentação incremental" ou omitido de outra forma. Padrão: false

useIncrementalFeed?: boolean

Valor de Propriedade

boolean

vectorSearchBufferSize

Especifica um tamanho máximo de buffer personalizado para armazenar resultados finais para consultas não StreamingOrderBy. Esse valor será ignorado se a consulta incluir cláusulas top/offset+limit.

vectorSearchBufferSize?: number

Valor de Propriedade

number

Detalhes da Propriedade Herdada

abortSignal

abortSignal para passar para todas as solicitações de rede subjacentes criadas por essa chamada de método. Veja https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Exemplo

Cancelar um pedido de leitura

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });

const { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const controller = new AbortController();
const results = container.items.query("SELECT * from c", {
  abortSignal: controller.signal,
});
abortSignal?: AbortSignal

Valor de Propriedade

AbortSignal

herdado de SharedOptions.abortSignal

bypassIntegratedCache

Define se o cache integrado deve ser ignorado ou habilitado para a solicitação no serviço Azure CosmosDB.

O valor padrão é false. Por padrão, o cache integrado está habilitado

bypassIntegratedCache?: boolean

Valor de Propriedade

boolean

herdado de SharedOptions.bypassIntegratedCache

consistencyLevel

Nível de consistência exigido pelo cliente.

consistencyLevel?: string

Valor de Propriedade

string

Herdado deSharedOptions.consistencyLevel

disableRUPerMinuteUsage

DisableRUPerMinuteUsage é usado para habilitar/desabilitar a capacidade de Unidades de Solicitação (RUs)/minuto para atender à solicitação se RUs/segundo provisionados regulares estiverem esgotados.

disableRUPerMinuteUsage?: boolean

Valor de Propriedade

boolean

Herdado deSharedOptions.disableRUPerMinuteUsage

excludedLocations

Exclui uma ou mais regiões do Azure para a operação.

Essa opção só é aplicada quando enableEndPointDiscovery é definido como true.

excludedLocations?: string[]

Valor de Propriedade

string[]

Herdado deSharedOptions.excludedLocations

initialHeaders

(Caso de uso avançado) Cabeçalhos iniciais para começar ao enviar solicitações para o Cosmos

initialHeaders?: CosmosHeaders

Valor de Propriedade

herdado deSharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

Define o valor de atraso associado à solicitação no serviço 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 têm a garantia de não serem mais estáveis do que o valor indicado por este maxIntegratedCacheStaleness. Quando o nível de consistência não é definido, essa propriedade é ignorada.

O valor padrão é null

O Cache Staleness é suportado em granularidade de milissegundos. Qualquer coisa menor que milissegundos será ignorada.

maxIntegratedCacheStalenessInMs?: number

Valor de Propriedade

number

herdado deSharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

Nível de Prioridade (Baixo/Alto) para cada solicitação. As solicitações de baixa prioridade são sempre limitadas antes de qualquer solicitação de alta prioridade.

O valor padrão é null. Por padrão, todas as solicitações são de alta prioridade

priorityLevel?: PriorityLevel

Valor de 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 documentos.

sessionToken?: string

Valor de Propriedade

string

herdado de SharedOptions.sessionToken

throughputBucket

Bucket de taxa de transferência para uma solicitação.

O valor padrão é null. Nesse caso, a solicitação pode usar 100% da taxa de transferência da partição.

Para obter mais informações, visite [Bucketing de taxa de transferência do Cosmos DB](https://aka.ms/cosmsodb-bucketing).
throughputBucket?: number

Valor de Propriedade

number

Herdado deSharedOptions.throughputBucket