FeedOptions interface

Die Feedoptionen und Abfragemethoden.

Extends

Eigenschaften

accessCondition

Bedingungen, die der Anforderung zugeordnet sind.

bufferItems

Aktivieren Sie das Puffern zusätzlicher Elemente während Abfragen. Standardwert: FALSE

Dadurch wird eine zusätzliche Seite gleichzeitig (multipliziert mit maxDegreeOfParallelism) vom Server im Hintergrund gepuffert. Dadurch wird die Latenz verbessert, indem Seiten abgerufen werden, bevor sie vom Client benötigt werden. Wenn Sie alle Ergebnisse aus dem Server leeren, z. B .fetchAll. , sollten Sie dies in der Regel aktivieren. Wenn Sie nur eine Seite über ein Fortsetzungstoken abrufen, sollten Sie dies vermeiden. Wenn Sie mehr als eine Seite, aber nicht das gesamte Resultset leeren, kann dies zur Verbesserung der Latenz beitragen, aber es erhöht die Gesamtmenge der RU/s, die für die gesamte Abfrage verwendet wird (da einige Seiten mehr als einmal abgerufen werden).

continuation

Undurchsichtiges Token für die Fortsetzung der Enumeration. Standardeinstellung: undefiniert

continuationToken

Undurchsichtiges Token für die Fortsetzung der Enumeration. Standardeinstellung: undefiniert

continuationTokenLimitInKB

Begrenzt die Größe des Fortsetzungstokens in der Antwort. Standardeinstellung: undefiniert

Fortsetzungstoken enthalten optionale Daten, die vor dem Schreiben in einen Header aus der Serialisierung entfernt werden können. Standardmäßig wird dies auf 1 KB begrenzt, um lange Header zu vermeiden (Node.js hat eine globale Headergrößenbeschränkung). Ein Benutzer kann dieses Feld festlegen, um längere Header zu ermöglichen, wodurch das Back-End die Abfrageausführung optimieren kann."

enableScanInQuery

Lassen Sie die Überprüfung für die Abfragen zu, die nicht bereitgestellt werden konnten, da die Indizierung für die angeforderten Pfade deaktiviert wurde. Standardwert: FALSE

Im Allgemeinen empfiehlt es sich, die Verwendung dieser Einstellung zu vermeiden. Scans sind relativ teuer und dauern lange.

forceQueryPlan

Diese Einstellung erzwingt, dass die Abfrage einen Abfrageplan verwendet. Standardwert: FALSE

Hinweis: Dadurch wird die Unterstützung für Fortsetzungstoken deaktiviert, auch für Abfragen mit einer einzelnen Partition.

Bei Abfragen wie Aggregaten und den meisten partitionsübergreifenden Abfragen geschieht dies trotzdem. Da die Bibliothek jedoch nicht weiß, um welche Art von Abfrage es sich handelt, bis wir die erste Antwort erhalten, kann eine Optimierung erst später erfolgen.

Wenn diese Einstellung aktiviert ist, erzwingt sie einen Abfrageplan für die Abfrage, wodurch einige Netzwerkanforderungen gespeichert werden und die Parallelität sichergestellt wird. Nützlich für, wenn Sie wissen, dass Sie partitionsübergreifende oder Aggregatabfragen ausführen.

maxDegreeOfParallelism

Die maximale Anzahl gleichzeitiger Vorgänge, die clientseitig während der parallelen Abfrageausführung im Azure Cosmos DB-Datenbankdienst ausgeführt werden. Bei negativen Werten entscheidet das System automatisch über die Anzahl der gleichzeitig auszuführenden Vorgänge. Standardwert: 0 (keine Parallelität)

maxItemCount

Maximale Anzahl von Elementen, die im Enumerationsvorgang zurückgegeben werden sollen. Standardeinstellung: undefiniert (Server definiert nutzlast)

Das Ablaufen mit diesem Wert kann in der Regel zu den größten Leistungsänderungen an der Abfrage führen.

Je kleiner die Elementanzahl, desto schneller wird das erste Ergebnis (für Nichtaggregate) übermittelt. Bei größeren Mengen dauert es länger, die Anforderung zu verarbeiten, aber Sie erhalten in der Regel einen besseren Durchsatz für große Abfragen (d. h. wenn Sie 1000 Elemente benötigen, bevor Sie andere Aktionen ausführen können, wird auf 1000 festgelegt maxItemCount . Wenn Sie nach den ersten 100 mit der Arbeit beginnen können, legen Sie auf 100 fest maxItemCount .)

partitionKey

Beschränkt die Abfrage auf einen bestimmten Partitionsschlüssel. Standardeinstellung: undefiniert

Das Eingrenzen einer Abfrage auf eine einzelne Partition kann auf zwei Arten erfolgen:

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

Ersteres ist nützlich, wenn der Abfragetext außerhalb Ihrer Kontrolle liegt, Sie ihn aber trotzdem auf eine einzelne Partition beschränken möchten. Beispiel: Eine vom Endbenutzer angegebene Abfrage.

populateIndexMetrics

Aktivieren sie die Rückgabe von Indexmetriken in Antwortheadern. Standardwert: FALSE

populateQueryMetrics

Aktivieren Sie die Rückgabe von Abfragemetriken in Antwortheadern. Standardwert: FALSE

Wird zum Debuggen von langsamen oder teuren Abfragen verwendet. Erhöht auch die Antwortgröße, und wenn Sie eine niedrige maximale Headergröße in Node.js verwenden, können Probleme schneller auftreten.

useIncrementalFeed

Hinweis: Erwägen Sie stattdessen die Verwendung von changeFeed.

Gibt eine Änderungsfeedanforderung an. Muss auf "Inkrementeller Feed" festgelegt oder andernfalls weggelassen werden. Standardwert: FALSE

Geerbte Eigenschaften

abortSignal

abortSignal, um an alle zugrunde liegenden Netzwerkanforderungen zu übergeben, die von diesem Methodenaufruf erstellt wurden. Siehe https://developer.mozilla.org/en-US/docs/Web/API/AbortController.

Beispiel

Abbrechen einer Leseanforderung

const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
initialHeaders

(Erweiterter Anwendungsfall) Anfängliche Header, die beim Senden von Anforderungen an Cosmos beginnen sollen

maxIntegratedCacheStalenessInMs

Legt den Veraltungswert fest, der der Anforderung im Azure CosmosDB-Dienst zugeordnet ist. Für Anforderungen, bei denen oder <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23SESSION>ist<xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL>, sind Antworten aus dem integrierten Cache garantiert nicht staler als der wert, der durch diese maxIntegratedCacheStaleness angegeben wird. Wenn die Konsistenzebene nicht festgelegt ist, wird diese Eigenschaft ignoriert.

Der Standardwert ist NULL.

Cache-Veraltung wird in Millisekunden Granularität unterstützt. Alles, was kleiner als Millisekunden ist, wird ignoriert.

priorityLevel

Prioritätsstufe (Niedrig/Hoch) für jede Anforderung. Anforderungen mit niedriger Priorität werden immer vor Anforderungen mit hoher Priorität gedrosselt.

Der Standardwert ist null. Standardmäßig haben alle Anforderungen hohe Priorität.

sessionToken

Aktiviert/deaktiviert das Abrufen von Statistiken zu Dokumentcontainerkontingenten für Leseanforderungen für Dokumentcontainer.

Details zur Eigenschaft

accessCondition

Bedingungen, die der Anforderung zugeordnet sind.

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

Eigenschaftswert

{ condition: string, type: string }

bufferItems

Aktivieren Sie das Puffern zusätzlicher Elemente während Abfragen. Standardwert: FALSE

Dadurch wird eine zusätzliche Seite gleichzeitig (multipliziert mit maxDegreeOfParallelism) vom Server im Hintergrund gepuffert. Dadurch wird die Latenz verbessert, indem Seiten abgerufen werden, bevor sie vom Client benötigt werden. Wenn Sie alle Ergebnisse aus dem Server leeren, z. B .fetchAll. , sollten Sie dies in der Regel aktivieren. Wenn Sie nur eine Seite über ein Fortsetzungstoken abrufen, sollten Sie dies vermeiden. Wenn Sie mehr als eine Seite, aber nicht das gesamte Resultset leeren, kann dies zur Verbesserung der Latenz beitragen, aber es erhöht die Gesamtmenge der RU/s, die für die gesamte Abfrage verwendet wird (da einige Seiten mehr als einmal abgerufen werden).

bufferItems?: boolean

Eigenschaftswert

boolean

continuation

Warnung

Diese API ist nun veraltet.

Use continuationToken instead.

Undurchsichtiges Token für die Fortsetzung der Enumeration. Standardeinstellung: undefiniert

continuation?: string

Eigenschaftswert

string

continuationToken

Undurchsichtiges Token für die Fortsetzung der Enumeration. Standardeinstellung: undefiniert

continuationToken?: string

Eigenschaftswert

string

continuationTokenLimitInKB

Begrenzt die Größe des Fortsetzungstokens in der Antwort. Standardeinstellung: undefiniert

Fortsetzungstoken enthalten optionale Daten, die vor dem Schreiben in einen Header aus der Serialisierung entfernt werden können. Standardmäßig wird dies auf 1 KB begrenzt, um lange Header zu vermeiden (Node.js hat eine globale Headergrößenbeschränkung). Ein Benutzer kann dieses Feld festlegen, um längere Header zu ermöglichen, wodurch das Back-End die Abfrageausführung optimieren kann."

continuationTokenLimitInKB?: number

Eigenschaftswert

number

enableScanInQuery

Lassen Sie die Überprüfung für die Abfragen zu, die nicht bereitgestellt werden konnten, da die Indizierung für die angeforderten Pfade deaktiviert wurde. Standardwert: FALSE

Im Allgemeinen empfiehlt es sich, die Verwendung dieser Einstellung zu vermeiden. Scans sind relativ teuer und dauern lange.

enableScanInQuery?: boolean

Eigenschaftswert

boolean

forceQueryPlan

Diese Einstellung erzwingt, dass die Abfrage einen Abfrageplan verwendet. Standardwert: FALSE

Hinweis: Dadurch wird die Unterstützung für Fortsetzungstoken deaktiviert, auch für Abfragen mit einer einzelnen Partition.

Bei Abfragen wie Aggregaten und den meisten partitionsübergreifenden Abfragen geschieht dies trotzdem. Da die Bibliothek jedoch nicht weiß, um welche Art von Abfrage es sich handelt, bis wir die erste Antwort erhalten, kann eine Optimierung erst später erfolgen.

Wenn diese Einstellung aktiviert ist, erzwingt sie einen Abfrageplan für die Abfrage, wodurch einige Netzwerkanforderungen gespeichert werden und die Parallelität sichergestellt wird. Nützlich für, wenn Sie wissen, dass Sie partitionsübergreifende oder Aggregatabfragen ausführen.

forceQueryPlan?: boolean

Eigenschaftswert

boolean

maxDegreeOfParallelism

Die maximale Anzahl gleichzeitiger Vorgänge, die clientseitig während der parallelen Abfrageausführung im Azure Cosmos DB-Datenbankdienst ausgeführt werden. Bei negativen Werten entscheidet das System automatisch über die Anzahl der gleichzeitig auszuführenden Vorgänge. Standardwert: 0 (keine Parallelität)

maxDegreeOfParallelism?: number

Eigenschaftswert

number

maxItemCount

Maximale Anzahl von Elementen, die im Enumerationsvorgang zurückgegeben werden sollen. Standardeinstellung: undefiniert (Server definiert nutzlast)

Das Ablaufen mit diesem Wert kann in der Regel zu den größten Leistungsänderungen an der Abfrage führen.

Je kleiner die Elementanzahl, desto schneller wird das erste Ergebnis (für Nichtaggregate) übermittelt. Bei größeren Mengen dauert es länger, die Anforderung zu verarbeiten, aber Sie erhalten in der Regel einen besseren Durchsatz für große Abfragen (d. h. wenn Sie 1000 Elemente benötigen, bevor Sie andere Aktionen ausführen können, wird auf 1000 festgelegt maxItemCount . Wenn Sie nach den ersten 100 mit der Arbeit beginnen können, legen Sie auf 100 fest maxItemCount .)

maxItemCount?: number

Eigenschaftswert

number

partitionKey

Beschränkt die Abfrage auf einen bestimmten Partitionsschlüssel. Standardeinstellung: undefiniert

Das Eingrenzen einer Abfrage auf eine einzelne Partition kann auf zwei Arten erfolgen:

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

Ersteres ist nützlich, wenn der Abfragetext außerhalb Ihrer Kontrolle liegt, Sie ihn aber trotzdem auf eine einzelne Partition beschränken möchten. Beispiel: Eine vom Endbenutzer angegebene Abfrage.

partitionKey?: PartitionKey

Eigenschaftswert

populateIndexMetrics

Aktivieren sie die Rückgabe von Indexmetriken in Antwortheadern. Standardwert: FALSE

populateIndexMetrics?: boolean

Eigenschaftswert

boolean

populateQueryMetrics

Aktivieren Sie die Rückgabe von Abfragemetriken in Antwortheadern. Standardwert: FALSE

Wird zum Debuggen von langsamen oder teuren Abfragen verwendet. Erhöht auch die Antwortgröße, und wenn Sie eine niedrige maximale Headergröße in Node.js verwenden, können Probleme schneller auftreten.

populateQueryMetrics?: boolean

Eigenschaftswert

boolean

useIncrementalFeed

Hinweis: Erwägen Sie stattdessen die Verwendung von changeFeed.

Gibt eine Änderungsfeedanforderung an. Muss auf "Inkrementeller Feed" festgelegt oder andernfalls weggelassen werden. Standardwert: FALSE

useIncrementalFeed?: boolean

Eigenschaftswert

boolean

Geerbte Eigenschaftsdetails

abortSignal

abortSignal, um an alle zugrunde liegenden Netzwerkanforderungen zu übergeben, die von diesem Methodenaufruf erstellt wurden. Siehe https://developer.mozilla.org/en-US/docs/Web/API/AbortController.

Beispiel

Abbrechen einer Leseanforderung

const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
abortSignal?: AbortSignal

Eigenschaftswert

AbortSignal

Geerbt vonSharedOptions.abortSignal

initialHeaders

(Erweiterter Anwendungsfall) Anfängliche Header, die beim Senden von Anforderungen an Cosmos beginnen sollen

initialHeaders?: CosmosHeaders

Eigenschaftswert

Geerbt vonSharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

Legt den Veraltungswert fest, der der Anforderung im Azure CosmosDB-Dienst zugeordnet ist. Für Anforderungen, bei denen oder <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23SESSION>ist<xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL>, sind Antworten aus dem integrierten Cache garantiert nicht staler als der wert, der durch diese maxIntegratedCacheStaleness angegeben wird. Wenn die Konsistenzebene nicht festgelegt ist, wird diese Eigenschaft ignoriert.

Der Standardwert ist NULL.

Cache-Veraltung wird in Millisekunden Granularität unterstützt. Alles, was kleiner als Millisekunden ist, wird ignoriert.

maxIntegratedCacheStalenessInMs?: number

Eigenschaftswert

number

Geerbt vonSharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

Prioritätsstufe (Niedrig/Hoch) für jede Anforderung. Anforderungen mit niedriger Priorität werden immer vor Anforderungen mit hoher Priorität gedrosselt.

Der Standardwert ist null. Standardmäßig haben alle Anforderungen hohe Priorität.

priorityLevel?: PriorityLevel

Eigenschaftswert

Geerbt vonSharedOptions.priorityLevel

sessionToken

Aktiviert/deaktiviert das Abrufen von Statistiken zu Dokumentcontainerkontingenten für Leseanforderungen für Dokumentcontainer.

sessionToken?: string

Eigenschaftswert

string

Geerbt vonSharedOptions.sessionToken