Condividi tramite


FeedOptions interface

Opzioni del feed e metodi di query.

Extends

Proprietà

accessCondition

Condizioni associate alla richiesta.

allowUnboundedNonStreamingQueries

Valido solo per l'ordine non di streaming per query. Impostazione predefinita: false; Se impostato su true, consente alle query di ignorare il comportamento predefinito che blocca le query nonstreaming senza clausole top o limit.

bufferItems

Abilitare il buffering di elementi aggiuntivi durante le query. Impostazione predefinita: false

In questo modo verrà memorizzata una pagina aggiuntiva alla volta (moltiplicata per maxDegreeOfParallelism) dal server in background. Ciò migliora la latenza recuperando le pagine prima che siano necessarie dal client. Se si svuotano tutti i risultati dal server, ad esempio .fetchAll, in genere è consigliabile abilitare questo. Se si recupera una sola pagina alla volta tramite token di continuazione, è consigliabile evitare questo problema. Se si svuotano più pagine, ma non l'intero set di risultati, può contribuire a migliorare la latenza, ma aumenterà la quantità totale di UR/s per gestire l'intera query (poiché alcune pagine verranno recuperate più volte).

continuation

Token opaco per continuare l'enumerazione. Impostazione predefinita: non definito

continuationToken

Token opaco per continuare l'enumerazione. Impostazione predefinita: non definito

continuationTokenLimitInKB

Limita le dimensioni del token di continuazione nella risposta. Impostazione predefinita: non definito

I token di continuazione contengono dati facoltativi che possono essere rimossi dalla serializzazione prima di scriverli in un'intestazione. Per impostazione predefinita, questo valore viene limitato a 1 kb per evitare intestazioni lunghe (Node.js ha un limite di dimensioni dell'intestazione globale). Un utente può impostare questo campo per consentire intestazioni più lunghe, che consentono al back-end di ottimizzare l'esecuzione delle query."

disableHybridSearchQueryPlanOptimization

Impostazione predefinita: false. Se impostato su true, disabilita l'ottimizzazione del piano di query di ricerca ibrida. Questa ottimizzazione è abilitata per impostazione predefinita e viene utilizzata per migliorare le prestazioni delle query di ricerca ibride.

disableNonStreamingOrderByQuery

Disabilitare la funzionalità di query nonStreamingOrderBy nelle funzionalità di query supportate. Impostazione predefinita: false. Impostare su true per evitare errori da un gateway precedente che non supporta questa funzionalità.

enableQueryControl

Controlla il comportamento di esecuzione delle query. Impostazione predefinita: false. Se impostato su false, la query ritenterà fino a quando i risultati non saranno pronti e maxItemCount non verranno raggiunti, il che può richiedere tempo per partizioni di grandi dimensioni con dati relativamente piccoli. Se impostato su true, analizza le partizioni fino a maxDegreeOfParallelism, aggiunge i risultati al buffer e restituisce ciò che è disponibile. Se i risultati non sono pronti, restituisce una risposta vuota.

enableScanInQuery

Consentire l'analisi sulle query che non possono essere gestite come indicizzazione è stata esplicitamente disattivata nei percorsi richiesti. Impostazione predefinita: false

In generale, è consigliabile evitare di usare questa impostazione. Le scansioni sono relativamente costose e richiedono molto tempo per servire.

forceQueryPlan

Questa impostazione forza la query a usare un piano di query. Impostazione predefinita: false

Nota: ciò disabiliterà il supporto del token di continuazione, anche per le query a partizione singola.

Per le query come aggregazioni e la maggior parte delle query tra partizioni, questo avviene comunque. Tuttavia, poiché la libreria non conosce il tipo di query che è fino a quando non viene restituita la prima risposta, alcune ottimizzazioni non possono verificarsi fino a un secondo momento.

Se questa impostazione è abilitata, forza il piano di query per la query, che salverà alcune richieste di rete e garantirà che il parallelismo possa verificarsi. Utile per quando si sa che si eseguono query tra partizioni o aggregazioni.

maxDegreeOfParallelism

Numero massimo di operazioni simultanee eseguite sul lato client durante l'esecuzione di query parallele nel servizio di database di Azure Cosmos DB. I valori negativi rendono automaticamente il sistema decide il numero di operazioni simultanee da eseguire. Impostazione predefinita: 0 (nessun parallelismo)

maxItemCount

Numero massimo di elementi da restituire nell'operazione di enumerazione. Impostazione predefinita: non definito (payload definito dal server)

La scadenza con questo valore può in genere comportare le modifiche di prestazioni maggiori alla query.

Minore è il numero di elementi, più veloce verrà recapitato il primo risultato (per le aggregazioni non). Per quantità maggiori, ci vorrà più tempo per gestire la richiesta, ma in genere si otterrà una velocità effettiva migliore per query di grandi dimensioni (ad esempio, se sono necessari 1000 elementi prima di poter eseguire qualsiasi altra azione, impostare maxItemCount su 1000. Se è possibile iniziare a lavorare dopo i primi 100, impostare maxItemCount su 100.

partitionKey

Limita la query a una chiave di partizione specifica. Impostazione predefinita: non definito

L'ambito di una query in una singola partizione può essere eseguito in due modi:

container.items.query('SELECT * from c', { partitionKey: "foo" }).toArray() container.items.query('SELECT * from c WHERE c.yourPartitionKey = "foo"').toArray()

Il primo è utile quando il corpo della query non è incluso nel controllo, ma si vuole comunque limitarlo a una singola partizione. Esempio: una query specificata dall'utente finale.

populateIndexMetrics

Abilitare la restituzione delle metriche dell'indice nelle intestazioni di risposta. Impostazione predefinita: false

populateQueryMetrics

Abilitare la restituzione delle metriche di query nelle intestazioni di risposta. Impostazione predefinita: false

Usato per il debug di query lente o costose. Aumenta anche le dimensioni della risposta e se si usa una dimensione di intestazione massima bassa in Node.js, è possibile che si verifichino problemi più velocemente.

useIncrementalFeed

Nota: prendere in considerazione l'uso di changeFeed.

Indica una richiesta del feed di modifiche. Deve essere impostato su "Feed incrementale" o omesso in caso contrario. Impostazione predefinita: false

vectorSearchBufferSize

Specifica una dimensione massima del buffer personalizzata per l'archiviazione dei risultati finali per le query nonStreamingOrderBy. Questo valore viene ignorato se la query include clausole top/offset+limit.

Proprietà ereditate

abortSignal

abortSignal per passare a tutte le richieste di rete sottostanti create da questa chiamata al metodo. Fare riferimento a https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Esempio

Annullare una richiesta di lettura

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

Imposta se la cache integrata deve essere ignorata o abilitata per la richiesta nel servizio Azure CosmosDB.

Il valore predefinito è false. Per impostazione predefinita, la cache integrata è abilitata

consistencyLevel

Livello di coerenza richiesto dal client.

disableRUPerMinuteUsage

DisableRUPerMinuteUsage viene usato per abilitare/disabilitare la capacità delle unità richiesta (UR)/minuto per soddisfare la richiesta se le UR con provisioning regolare al secondo sono esaurite.

excludedLocations

Esclude una o più aree di Azure per l'operazione.

Questa opzione viene applicata solo quando enableEndPointDiscovery è impostato su true.

initialHeaders

(Caso d'uso avanzato) Intestazioni iniziali da iniziare con quando si inviano richieste a Cosmos

maxIntegratedCacheStalenessInMs

Imposta il valore di decadimento associato alla richiesta nel servizio Azure CosmosDB. Per le richieste in cui il <xref:com.azure.cosmos.ConsistencyLevel> è <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> o <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, le risposte dalla cache integrata non sono necessariamente diverse dal valore indicato da questo valore maxIntegratedCacheStaleness. Quando il livello di coerenza non è impostato, questa proprietà viene ignorata.

Il valore predefinito è Null

La granularità della cache è supportata in millisecondi di granularità. Qualsiasi valore inferiore a millisecondi verrà ignorato.

priorityLevel

Livello di priorità (basso/alto) per ogni richiesta. Le richieste con priorità bassa vengono sempre limitate prima di qualsiasi richiesta con priorità alta.

Il valore predefinito è Null. Per impostazione predefinita, tutte le richieste hanno priorità alta

sessionToken

Abilita/disabilita il recupero delle statistiche correlate alla quota del contenitore di documenti per le richieste di lettura del contenitore di documenti.

throughputBucket

Bucket di velocità effettiva per una richiesta.

Il valore predefinito è Null. In questo caso, la richiesta può utilizzare 100% della velocità effettiva della partizione.

Per altre informazioni, visitare [Bucket della velocità effettiva di Cosmos DB](https://aka.ms/cosmsodb-bucketing).

Dettagli proprietà

accessCondition

Condizioni associate alla richiesta.

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

Valore della proprietà

{ condition: string, type: string }

allowUnboundedNonStreamingQueries

Valido solo per l'ordine non di streaming per query. Impostazione predefinita: false; Se impostato su true, consente alle query di ignorare il comportamento predefinito che blocca le query nonstreaming senza clausole top o limit.

allowUnboundedNonStreamingQueries?: boolean

Valore della proprietà

boolean

bufferItems

Abilitare il buffering di elementi aggiuntivi durante le query. Impostazione predefinita: false

In questo modo verrà memorizzata una pagina aggiuntiva alla volta (moltiplicata per maxDegreeOfParallelism) dal server in background. Ciò migliora la latenza recuperando le pagine prima che siano necessarie dal client. Se si svuotano tutti i risultati dal server, ad esempio .fetchAll, in genere è consigliabile abilitare questo. Se si recupera una sola pagina alla volta tramite token di continuazione, è consigliabile evitare questo problema. Se si svuotano più pagine, ma non l'intero set di risultati, può contribuire a migliorare la latenza, ma aumenterà la quantità totale di UR/s per gestire l'intera query (poiché alcune pagine verranno recuperate più volte).

bufferItems?: boolean

Valore della proprietà

boolean

continuation

Avviso

Questa API è ora deprecata.

Use continuationToken instead.

Token opaco per continuare l'enumerazione. Impostazione predefinita: non definito

continuation?: string

Valore della proprietà

string

continuationToken

Token opaco per continuare l'enumerazione. Impostazione predefinita: non definito

continuationToken?: string

Valore della proprietà

string

continuationTokenLimitInKB

Limita le dimensioni del token di continuazione nella risposta. Impostazione predefinita: non definito

I token di continuazione contengono dati facoltativi che possono essere rimossi dalla serializzazione prima di scriverli in un'intestazione. Per impostazione predefinita, questo valore viene limitato a 1 kb per evitare intestazioni lunghe (Node.js ha un limite di dimensioni dell'intestazione globale). Un utente può impostare questo campo per consentire intestazioni più lunghe, che consentono al back-end di ottimizzare l'esecuzione delle query."

continuationTokenLimitInKB?: number

Valore della proprietà

number

disableHybridSearchQueryPlanOptimization

Impostazione predefinita: false. Se impostato su true, disabilita l'ottimizzazione del piano di query di ricerca ibrida. Questa ottimizzazione è abilitata per impostazione predefinita e viene utilizzata per migliorare le prestazioni delle query di ricerca ibride.

disableHybridSearchQueryPlanOptimization?: boolean

Valore della proprietà

boolean

disableNonStreamingOrderByQuery

Disabilitare la funzionalità di query nonStreamingOrderBy nelle funzionalità di query supportate. Impostazione predefinita: false. Impostare su true per evitare errori da un gateway precedente che non supporta questa funzionalità.

disableNonStreamingOrderByQuery?: boolean

Valore della proprietà

boolean

enableQueryControl

Controlla il comportamento di esecuzione delle query. Impostazione predefinita: false. Se impostato su false, la query ritenterà fino a quando i risultati non saranno pronti e maxItemCount non verranno raggiunti, il che può richiedere tempo per partizioni di grandi dimensioni con dati relativamente piccoli. Se impostato su true, analizza le partizioni fino a maxDegreeOfParallelism, aggiunge i risultati al buffer e restituisce ciò che è disponibile. Se i risultati non sono pronti, restituisce una risposta vuota.

enableQueryControl?: boolean

Valore della proprietà

boolean

enableScanInQuery

Consentire l'analisi sulle query che non possono essere gestite come indicizzazione è stata esplicitamente disattivata nei percorsi richiesti. Impostazione predefinita: false

In generale, è consigliabile evitare di usare questa impostazione. Le scansioni sono relativamente costose e richiedono molto tempo per servire.

enableScanInQuery?: boolean

Valore della proprietà

boolean

forceQueryPlan

Questa impostazione forza la query a usare un piano di query. Impostazione predefinita: false

Nota: ciò disabiliterà il supporto del token di continuazione, anche per le query a partizione singola.

Per le query come aggregazioni e la maggior parte delle query tra partizioni, questo avviene comunque. Tuttavia, poiché la libreria non conosce il tipo di query che è fino a quando non viene restituita la prima risposta, alcune ottimizzazioni non possono verificarsi fino a un secondo momento.

Se questa impostazione è abilitata, forza il piano di query per la query, che salverà alcune richieste di rete e garantirà che il parallelismo possa verificarsi. Utile per quando si sa che si eseguono query tra partizioni o aggregazioni.

forceQueryPlan?: boolean

Valore della proprietà

boolean

maxDegreeOfParallelism

Numero massimo di operazioni simultanee eseguite sul lato client durante l'esecuzione di query parallele nel servizio di database di Azure Cosmos DB. I valori negativi rendono automaticamente il sistema decide il numero di operazioni simultanee da eseguire. Impostazione predefinita: 0 (nessun parallelismo)

maxDegreeOfParallelism?: number

Valore della proprietà

number

maxItemCount

Numero massimo di elementi da restituire nell'operazione di enumerazione. Impostazione predefinita: non definito (payload definito dal server)

La scadenza con questo valore può in genere comportare le modifiche di prestazioni maggiori alla query.

Minore è il numero di elementi, più veloce verrà recapitato il primo risultato (per le aggregazioni non). Per quantità maggiori, ci vorrà più tempo per gestire la richiesta, ma in genere si otterrà una velocità effettiva migliore per query di grandi dimensioni (ad esempio, se sono necessari 1000 elementi prima di poter eseguire qualsiasi altra azione, impostare maxItemCount su 1000. Se è possibile iniziare a lavorare dopo i primi 100, impostare maxItemCount su 100.

maxItemCount?: number

Valore della proprietà

number

partitionKey

Limita la query a una chiave di partizione specifica. Impostazione predefinita: non definito

L'ambito di una query in una singola partizione può essere eseguito in due modi:

container.items.query('SELECT * from c', { partitionKey: "foo" }).toArray() container.items.query('SELECT * from c WHERE c.yourPartitionKey = "foo"').toArray()

Il primo è utile quando il corpo della query non è incluso nel controllo, ma si vuole comunque limitarlo a una singola partizione. Esempio: una query specificata dall'utente finale.

partitionKey?: PartitionKey

Valore della proprietà

populateIndexMetrics

Abilitare la restituzione delle metriche dell'indice nelle intestazioni di risposta. Impostazione predefinita: false

populateIndexMetrics?: boolean

Valore della proprietà

boolean

populateQueryMetrics

Abilitare la restituzione delle metriche di query nelle intestazioni di risposta. Impostazione predefinita: false

Usato per il debug di query lente o costose. Aumenta anche le dimensioni della risposta e se si usa una dimensione di intestazione massima bassa in Node.js, è possibile che si verifichino problemi più velocemente.

populateQueryMetrics?: boolean

Valore della proprietà

boolean

useIncrementalFeed

Nota: prendere in considerazione l'uso di changeFeed.

Indica una richiesta del feed di modifiche. Deve essere impostato su "Feed incrementale" o omesso in caso contrario. Impostazione predefinita: false

useIncrementalFeed?: boolean

Valore della proprietà

boolean

vectorSearchBufferSize

Specifica una dimensione massima del buffer personalizzata per l'archiviazione dei risultati finali per le query nonStreamingOrderBy. Questo valore viene ignorato se la query include clausole top/offset+limit.

vectorSearchBufferSize?: number

Valore della proprietà

number

Dettagli proprietà ereditate

abortSignal

abortSignal per passare a tutte le richieste di rete sottostanti create da questa chiamata al metodo. Fare riferimento a https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Esempio

Annullare una richiesta di lettura

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

Valore della proprietà

AbortSignal

ereditato daSharedOptions.abortSignal

bypassIntegratedCache

Imposta se la cache integrata deve essere ignorata o abilitata per la richiesta nel servizio Azure CosmosDB.

Il valore predefinito è false. Per impostazione predefinita, la cache integrata è abilitata

bypassIntegratedCache?: boolean

Valore della proprietà

boolean

Ereditato daSharedOptions.bypassIntegratedCache

consistencyLevel

Livello di coerenza richiesto dal client.

consistencyLevel?: string

Valore della proprietà

string

Ereditato daSharedOptions.consistencyLevel

disableRUPerMinuteUsage

DisableRUPerMinuteUsage viene usato per abilitare/disabilitare la capacità delle unità richiesta (UR)/minuto per soddisfare la richiesta se le UR con provisioning regolare al secondo sono esaurite.

disableRUPerMinuteUsage?: boolean

Valore della proprietà

boolean

Ereditato daSharedOptions.disableRUPerMinuteUsage

excludedLocations

Esclude una o più aree di Azure per l'operazione.

Questa opzione viene applicata solo quando enableEndPointDiscovery è impostato su true.

excludedLocations?: string[]

Valore della proprietà

string[]

Ereditato daSharedOptions.excludedLocations

initialHeaders

(Caso d'uso avanzato) Intestazioni iniziali da iniziare con quando si inviano richieste a Cosmos

initialHeaders?: CosmosHeaders

Valore della proprietà

ereditato daSharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

Imposta il valore di decadimento associato alla richiesta nel servizio Azure CosmosDB. Per le richieste in cui il <xref:com.azure.cosmos.ConsistencyLevel> è <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> o <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, le risposte dalla cache integrata non sono necessariamente diverse dal valore indicato da questo valore maxIntegratedCacheStaleness. Quando il livello di coerenza non è impostato, questa proprietà viene ignorata.

Il valore predefinito è Null

La granularità della cache è supportata in millisecondi di granularità. Qualsiasi valore inferiore a millisecondi verrà ignorato.

maxIntegratedCacheStalenessInMs?: number

Valore della proprietà

number

Ereditato daSharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

Livello di priorità (basso/alto) per ogni richiesta. Le richieste con priorità bassa vengono sempre limitate prima di qualsiasi richiesta con priorità alta.

Il valore predefinito è Null. Per impostazione predefinita, tutte le richieste hanno priorità alta

priorityLevel?: PriorityLevel

Valore della proprietà

ereditato daSharedOptions.priorityLevel

sessionToken

Abilita/disabilita il recupero delle statistiche correlate alla quota del contenitore di documenti per le richieste di lettura del contenitore di documenti.

sessionToken?: string

Valore della proprietà

string

ereditato daSharedOptions.sessionToken

throughputBucket

Bucket di velocità effettiva per una richiesta.

Il valore predefinito è Null. In questo caso, la richiesta può utilizzare 100% della velocità effettiva della partizione.

Per altre informazioni, visitare [Bucket della velocità effettiva di Cosmos DB](https://aka.ms/cosmsodb-bucketing).
throughputBucket?: number

Valore della proprietà

number

Ereditato daSharedOptions.throughputBucket