FeedOptions interface

A hírcsatorna beállításai és a lekérdezési módszerek.

Extends

Tulajdonságok

accessCondition

A kérelemhez társított feltételek.

bufferItems

További elemek pufferelésének engedélyezése lekérdezések során. Alapértelmezett: false

Ez egy további oldalt pufferel egyszerre (a maxDegreeOfParallelism megszorozva) a háttérben lévő kiszolgálóról. Ez javítja a késést azáltal, hogy lekéri az oldalakat, mielőtt az ügyfélnek szüksége lenne rájuk. Ha az összes eredményt kiüríti a kiszolgálóról( például .fetchAll), ezt általában engedélyeznie kell. Ha egyszerre csak egy oldalt kér le a folytatási jogkivonaton keresztül, ezt el kell kerülnie. Ha egynél több oldalt ürít ki, de nem a teljes eredményhalmazt, az segíthet a késés javításában, de növeli a teljes lekérdezés kiszolgálásához szükséges RU/s teljes mennyiségét (mivel egyes oldalak többször lesznek lekérve).

continuation

Átlátszatlan jogkivonat az enumerálás folytatásához. Alapértelmezett: nincs definiálva

continuationToken

Átlátszatlan jogkivonat az enumerálás folytatásához. Alapértelmezett: nincs definiálva

continuationTokenLimitInKB

Korlátozza a folytatási jogkivonat méretét a válaszban. Alapértelmezett: nincs definiálva

A folytatási jogkivonatok opcionális adatokat tartalmaznak, amelyek eltávolíthatók a szerializálásból, mielőtt a fejlécbe íranák őket. Alapértelmezés szerint ezt 1kb-ra korlátozzuk a hosszú fejlécek elkerülése érdekében (Node.js globális fejlécméretkorláttal rendelkezik). A felhasználó beállíthatja ezt a mezőt úgy, hogy hosszabb fejléceket engedélyezzen, ami segíthet a háttérrendszernek optimalizálni a lekérdezések végrehajtását."

enableScanInQuery

Engedélyezze az olyan lekérdezések vizsgálatát, amelyeket nem lehetett indexelésként kiszolgálni, a rendszer letiltotta a kért elérési utakat. Alapértelmezett: false

Általában a legjobb, ha nem használja ezt a beállítást. A vizsgálatok viszonylag drágák, és hosszú időt vesznek igénybe.

forceQueryPlan

Ez a beállítás kényszeríti a lekérdezést egy lekérdezésterv használatára. Alapértelmezett: false

Megjegyzés: ez letiltja a folytatási jogkivonat támogatását, még az egypartíciós lekérdezések esetében is.

Az olyan lekérdezések esetében, mint az összesítések és a legtöbb partícióközi lekérdezés, ez mindenképpen megtörténik. Mivel azonban a kódtár nem tudja, hogy milyen típusú lekérdezésről van szó, amíg vissza nem kapjuk az első választ, bizonyos optimalizálás csak később történhet meg.

Ha ez a beállítás engedélyezve van, kényszeríti a lekérdezésre vonatkozó lekérdezéstervet, amely menti a hálózati kéréseket, és biztosítja a párhuzamosság biztosítását. Akkor hasznos, ha tudja, hogy partíciók közötti vagy összesítő lekérdezéseket végez.

maxDegreeOfParallelism

Az ügyféloldalt párhuzamos lekérdezés-végrehajtás során az Azure Cosmos DB adatbázis-szolgáltatásban futtató egyidejű műveletek maximális száma. A negatív értékek miatt a rendszer automatikusan eldönti az egyidejűleg futtatandó műveletek számát. Alapértelmezett: 0 (nincs párhuzamosság)

maxItemCount

Az enumerálási műveletben visszaadandó elemek maximális száma. Alapértelmezett: nem definiált (a kiszolgáló a hasznos adatokat határozza meg)

Az érték lejárata általában a lekérdezés legnagyobb teljesítményváltozását eredményezheti.

Minél kisebb az elemek száma, annál gyorsabb lesz az első eredmény kézbesítése (nem összesítések esetén). Nagyobb mennyiség esetén hosszabb időt vesz igénybe a kérés kiszolgálása, de a nagy méretű lekérdezések esetében általában jobb átviteli sebesség érhető el (azaz ha 1000 elemre van szüksége, mielőtt bármilyen más műveletet végrehajthat, állítsa 1000-ra maxItemCount . Ha az első 100 után elkezdheti a munkát, állítsa a 100 értéket maxItemCount .)

partitionKey

A lekérdezést egy adott partíciókulcsra korlátozza. Alapértelmezett: nincs definiálva

A lekérdezések egyetlen partícióra történő hatókörkezelése kétféleképpen valósítható meg:

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

Az előbbi akkor hasznos, ha a lekérdezés törzse nincs a vezérlőben, de továbbra is egyetlen partícióra szeretné korlátozni. Példa: egy végfelhasználó által megadott lekérdezés.

populateIndexMetrics

Indexmetrikák visszaadásának engedélyezése a válaszfejlécekben. Alapértelmezett: false

populateQueryMetrics

Lekérdezési metrikák visszaadásának engedélyezése a válaszfejlécekben. Alapértelmezett: false

Lassú vagy költséges lekérdezések hibakeresésére szolgál. Emellett növeli a válasz méretét, és ha alacsony maximális fejlécméretet használ Node.js, gyorsabban problémákba ütközhet.

useIncrementalFeed

Megjegyzés: fontolja meg helyette a changeFeed használatát.

Változáscsatorna-kérést jelez. "Növekményes hírcsatorna" értékre kell állítani, vagy másként nem adható meg. Alapértelmezett: false

Örökölt tulajdonságok

abortSignal

abortSignal az ezzel a metódushívással létrehozott összes mögöttes hálózati kérésnek való továbbításhoz. Lásd: https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Példa

Olvasási kérelem megszakítása

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

(Speciális használati eset) Kezdeti fejlécek, amellyel a kérések Cosmosba való küldésekor kezdeni kell

maxIntegratedCacheStalenessInMs

Beállítja a kérelemhez társított elavultsági értéket az Azure CosmosDB szolgáltatásban. Az olyan kérések esetében, ahol az <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> vagy <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, az integrált gyorsítótárból érkező válaszok garantáltan nem lesznek elavultak, mint a maxIntegratedCacheStaleness által jelzett érték. Ha a konzisztenciaszint nincs beállítva, a rendszer figyelmen kívül hagyja ezt a tulajdonságot.

Az alapértelmezett érték null

A gyorsítótár elavultsága ezredmásodpercben támogatott. A rendszer figyelmen kívül hagyja az ezredmásodpercnél kisebbeket.

priorityLevel

Prioritási szint (alacsony/magas) minden egyes kéréshez. Az alacsony prioritású kérések mindig szabályozva vannak a magas prioritású kérések előtt.

Az alapértelmezett érték null. Alapértelmezés szerint minden kérés magas prioritású

sessionToken

Engedélyezi vagy letiltja a dokumentumtárolók kvótával kapcsolatos statisztikáinak lekérését a dokumentumtároló olvasási kérelmeihez.

Tulajdonság adatai

accessCondition

A kérelemhez társított feltételek.

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

Tulajdonság értéke

{ condition: string, type: string }

bufferItems

További elemek pufferelésének engedélyezése lekérdezések során. Alapértelmezett: false

Ez egy további oldalt pufferel egyszerre (a maxDegreeOfParallelism megszorozva) a háttérben lévő kiszolgálóról. Ez javítja a késést azáltal, hogy lekéri az oldalakat, mielőtt az ügyfélnek szüksége lenne rájuk. Ha az összes eredményt kiüríti a kiszolgálóról( például .fetchAll), ezt általában engedélyeznie kell. Ha egyszerre csak egy oldalt kér le a folytatási jogkivonaton keresztül, ezt el kell kerülnie. Ha egynél több oldalt ürít ki, de nem a teljes eredményhalmazt, az segíthet a késés javításában, de növeli a teljes lekérdezés kiszolgálásához szükséges RU/s teljes mennyiségét (mivel egyes oldalak többször lesznek lekérve).

bufferItems?: boolean

Tulajdonság értéke

boolean

continuation

Figyelmeztetés

Ez az API már elavult.

Use continuationToken instead.

Átlátszatlan jogkivonat az enumerálás folytatásához. Alapértelmezett: nincs definiálva

continuation?: string

Tulajdonság értéke

string

continuationToken

Átlátszatlan jogkivonat az enumerálás folytatásához. Alapértelmezett: nincs definiálva

continuationToken?: string

Tulajdonság értéke

string

continuationTokenLimitInKB

Korlátozza a folytatási jogkivonat méretét a válaszban. Alapértelmezett: nincs definiálva

A folytatási jogkivonatok opcionális adatokat tartalmaznak, amelyek eltávolíthatók a szerializálásból, mielőtt a fejlécbe íranák őket. Alapértelmezés szerint ezt 1kb-ra korlátozzuk a hosszú fejlécek elkerülése érdekében (Node.js globális fejlécméretkorláttal rendelkezik). A felhasználó beállíthatja ezt a mezőt úgy, hogy hosszabb fejléceket engedélyezzen, ami segíthet a háttérrendszernek optimalizálni a lekérdezések végrehajtását."

continuationTokenLimitInKB?: number

Tulajdonság értéke

number

enableScanInQuery

Engedélyezze az olyan lekérdezések vizsgálatát, amelyeket nem lehetett indexelésként kiszolgálni, a rendszer letiltotta a kért elérési utakat. Alapértelmezett: false

Általában a legjobb, ha nem használja ezt a beállítást. A vizsgálatok viszonylag drágák, és hosszú időt vesznek igénybe.

enableScanInQuery?: boolean

Tulajdonság értéke

boolean

forceQueryPlan

Ez a beállítás kényszeríti a lekérdezést egy lekérdezésterv használatára. Alapértelmezett: false

Megjegyzés: ez letiltja a folytatási jogkivonat támogatását, még az egypartíciós lekérdezések esetében is.

Az olyan lekérdezések esetében, mint az összesítések és a legtöbb partícióközi lekérdezés, ez mindenképpen megtörténik. Mivel azonban a kódtár nem tudja, hogy milyen típusú lekérdezésről van szó, amíg vissza nem kapjuk az első választ, bizonyos optimalizálás csak később történhet meg.

Ha ez a beállítás engedélyezve van, kényszeríti a lekérdezésre vonatkozó lekérdezéstervet, amely menti a hálózati kéréseket, és biztosítja a párhuzamosság biztosítását. Akkor hasznos, ha tudja, hogy partíciók közötti vagy összesítő lekérdezéseket végez.

forceQueryPlan?: boolean

Tulajdonság értéke

boolean

maxDegreeOfParallelism

Az ügyféloldalt párhuzamos lekérdezés-végrehajtás során az Azure Cosmos DB adatbázis-szolgáltatásban futtató egyidejű műveletek maximális száma. A negatív értékek miatt a rendszer automatikusan eldönti az egyidejűleg futtatandó műveletek számát. Alapértelmezett: 0 (nincs párhuzamosság)

maxDegreeOfParallelism?: number

Tulajdonság értéke

number

maxItemCount

Az enumerálási műveletben visszaadandó elemek maximális száma. Alapértelmezett: nem definiált (a kiszolgáló a hasznos adatokat határozza meg)

Az érték lejárata általában a lekérdezés legnagyobb teljesítményváltozását eredményezheti.

Minél kisebb az elemek száma, annál gyorsabb lesz az első eredmény kézbesítése (nem összesítések esetén). Nagyobb mennyiség esetén hosszabb időt vesz igénybe a kérés kiszolgálása, de a nagy méretű lekérdezések esetében általában jobb átviteli sebesség érhető el (azaz ha 1000 elemre van szüksége, mielőtt bármilyen más műveletet végrehajthat, állítsa 1000-ra maxItemCount . Ha az első 100 után elkezdheti a munkát, állítsa a 100 értéket maxItemCount .)

maxItemCount?: number

Tulajdonság értéke

number

partitionKey

A lekérdezést egy adott partíciókulcsra korlátozza. Alapértelmezett: nincs definiálva

A lekérdezések egyetlen partícióra történő hatókörkezelése kétféleképpen valósítható meg:

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

Az előbbi akkor hasznos, ha a lekérdezés törzse nincs a vezérlőben, de továbbra is egyetlen partícióra szeretné korlátozni. Példa: egy végfelhasználó által megadott lekérdezés.

partitionKey?: PartitionKey

Tulajdonság értéke

populateIndexMetrics

Indexmetrikák visszaadásának engedélyezése a válaszfejlécekben. Alapértelmezett: false

populateIndexMetrics?: boolean

Tulajdonság értéke

boolean

populateQueryMetrics

Lekérdezési metrikák visszaadásának engedélyezése a válaszfejlécekben. Alapértelmezett: false

Lassú vagy költséges lekérdezések hibakeresésére szolgál. Emellett növeli a válasz méretét, és ha alacsony maximális fejlécméretet használ Node.js, gyorsabban problémákba ütközhet.

populateQueryMetrics?: boolean

Tulajdonság értéke

boolean

useIncrementalFeed

Megjegyzés: fontolja meg helyette a changeFeed használatát.

Változáscsatorna-kérést jelez. "Növekményes hírcsatorna" értékre kell állítani, vagy másként nem adható meg. Alapértelmezett: false

useIncrementalFeed?: boolean

Tulajdonság értéke

boolean

Örökölt tulajdonság részletei

abortSignal

abortSignal az ezzel a metódushívással létrehozott összes mögöttes hálózati kérésnek való továbbításhoz. Lásd: https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Példa

Olvasási kérelem megszakítása

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

Tulajdonság értéke

AbortSignal

Örökölt: SharedOptions.abortSignal

initialHeaders

(Speciális használati eset) Kezdeti fejlécek, amellyel a kérések Cosmosba való küldésekor kezdeni kell

initialHeaders?: CosmosHeaders

Tulajdonság értéke

Örökölt: SharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

Beállítja a kérelemhez társított elavultsági értéket az Azure CosmosDB szolgáltatásban. Az olyan kérések esetében, ahol az <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> vagy <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, az integrált gyorsítótárból érkező válaszok garantáltan nem lesznek elavultak, mint a maxIntegratedCacheStaleness által jelzett érték. Ha a konzisztenciaszint nincs beállítva, a rendszer figyelmen kívül hagyja ezt a tulajdonságot.

Az alapértelmezett érték null

A gyorsítótár elavultsága ezredmásodpercben támogatott. A rendszer figyelmen kívül hagyja az ezredmásodpercnél kisebbeket.

maxIntegratedCacheStalenessInMs?: number

Tulajdonság értéke

number

Örökölt:SharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

Prioritási szint (alacsony/magas) minden egyes kéréshez. Az alacsony prioritású kérések mindig szabályozva vannak a magas prioritású kérések előtt.

Az alapértelmezett érték null. Alapértelmezés szerint minden kérés magas prioritású

priorityLevel?: PriorityLevel

Tulajdonság értéke

Örökölt: SharedOptions.priorityLevel

sessionToken

Engedélyezi vagy letiltja a dokumentumtárolók kvótával kapcsolatos statisztikáinak lekérését a dokumentumtároló olvasási kérelmeihez.

sessionToken?: string

Tulajdonság értéke

string

Örökölt: SharedOptions.sessionToken