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

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

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. Vedere https://developer.mozilla.org/en-US/docs/Web/API/AbortController

esempio di

Annullare una richiesta di lettura

const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
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

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.

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

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

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. Vedere https://developer.mozilla.org/en-US/docs/Web/API/AbortController

esempio di

Annullare una richiesta di lettura

const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
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

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