Sdílet prostřednictvím


FeedOptions interface

Možnosti informačního kanálu a metody dotazů.

Extends

Vlastnosti

accessCondition

Podmínky přidružené k žádosti.

allowUnboundedNonStreamingQueries

Platné pouze pro pořadí bez streamování podle dotazu. Výchozí hodnota: false; Pokud je nastavená hodnota true, umožňuje dotazům obejít výchozí chování, které blokuje nestreamingové dotazy bez klauzulí top nebo limit.

bufferItems

Povolte ukládání dalších položek do vyrovnávací paměti během dotazů. Výchozí hodnota: false

Tím se na pozadí uloží další stránka do vyrovnávací paměti (vynásobená maxDegreeOfParallelism) ze serveru na pozadí. Tím se zvýší latence načtením stránek před tím, než je klient potřebuje. Pokud vyprázdníte všechny výsledky ze serveru, například .fetchAll, měli byste to obvykle povolit. Pokud načítáte jenom jednu stránku najednou prostřednictvím tokenu pokračování, měli byste se tomu vyhnout. Pokud vyprázdníte více než jednu stránku, ale ne celou sadu výsledků, může to pomoct zlepšit latenci, ale zvýší se celkové množství RU/s, které se použije k obsluhování celého dotazu (protože některé stránky se načtou více než jednou).

continuation

Neprůhlásný token pro pokračování výčtu. Výchozí: nedefinováno

continuationToken

Neprůhlásný token pro pokračování výčtu. Výchozí: nedefinováno

continuationTokenLimitInKB

Omezuje velikost tokenu pokračování v odpovědi. Výchozí: nedefinováno

Tokeny pokračování obsahují volitelná data, která lze odebrat ze serializace před zápisem do hlavičky. Ve výchozím nastavení toto omezení omezujeme na 1 kB, aby nedocházelo k dlouhým záhlavím (Node.js má globální limit velikosti záhlaví). Uživatel může toto pole nastavit tak, aby umožňovalo delší hlavičky, což může back-endu pomoct optimalizovat provádění dotazů."

disableNonStreamingOrderByQuery

Zakažte funkci dotazu nonStreamingOrderBy v podporovaných funkcích dotazů. Výchozí hodnota: false. Nastavte hodnotu true, aby se zabránilo chybě ze staré brány, která tuto funkci nepodporuje.

enableScanInQuery

Povolte prohledávání dotazů, které se nedají obsluhovat jako indexování, na požadovaných cestách se odhlásilo. Výchozí hodnota: false

Obecně je nejlepší se vyhnout použití tohoto nastavení. Kontroly jsou poměrně drahé a jejich obsluha trvá dlouho.

forceQueryPlan

Toto nastavení vynutí dotaz, aby používal plán dotazu. Výchozí hodnota: false

Poznámka: Tím zakážete podporu pokračovacích tokenů, a to i u dotazů na jeden oddíl.

U dotazů, jako jsou agregace a většina dotazů napříč oddíly, k tomu dochází i přesto. Vzhledem k tomu, že knihovna neví, o jaký typ dotazu se jedná, dokud nedostaneme zpět první odpověď, některé optimalizace se nedají provést až později.

Pokud je toto nastavení povolené, vynutí plán dotazů pro dotaz, který uloží některé síťové požadavky a zajistí, že k paralelismu může dojít. Užitečné pro to, když víte, že provádíte dotazy napříč oddíly nebo agregacemi.

maxDegreeOfParallelism

Maximální počet souběžných operací, které běží na straně klienta během paralelního spouštění dotazů v databázové službě Azure Cosmos DB. Záporné hodnoty činí, že systém automaticky rozhodne o počtu souběžných operací, které se mají spustit. Výchozí hodnota: 0 (bez paralelismu)

maxItemCount

Maximální počet položek, které se mají vrátit v operaci výčtu Výchozí hodnota: nedefinovaná (server definuje datovou část)

Vypršení platnosti s touto hodnotou obvykle může vést k největším změnám výkonu dotazu.

Čím menší je počet položek, tím rychleji se první výsledek doručí (pro neagregace). U větších částek bude zpracování požadavku trvat déle, ale obvykle získáte lepší propustnost pro velké dotazy (tj. pokud potřebujete 1 000 položek, než budete moct provést jakékoli další akce, nastavte maxItemCount na 1 000. Pokud můžete začít pracovat po prvních 100, nastavte maxItemCount na 100.)

partitionKey

Omezuje dotaz na konkrétní klíč oddílu. Výchozí: nedefinováno

Rozsah dotazu na jeden oddíl lze provést dvěma způsoby:

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

První část je užitečná, když je tělo dotazu mimo vaši kontrolu, ale přesto ho chcete omezit na jeden oddíl. Příklad: Zadaný dotaz koncového uživatele

populateIndexMetrics

Povolte vrácení metrik indexu v hlavičkách odpovědi. Výchozí hodnota: false

populateQueryMetrics

Povolte vrácení metrik dotazů v hlavicích odpovědí. Výchozí hodnota: false

Používá se k ladění pomalých nebo drahých dotazů. Zvýší se také velikost odpovědi a pokud v Node.jspoužíváte malou maximální velikost záhlaví, můžete narazit na problémy rychleji.

useIncrementalFeed

Poznámka: Místo toho zvažte použití funkce ChangeFeed.

Označuje požadavek kanálu změn. Musí být nastavená na přírůstkový informační kanál nebo jinak vynechána. Výchozí hodnota: false

vectorSearchBufferSize

Určuje vlastní maximální velikost vyrovnávací paměti pro ukládání konečných výsledků pro dotazy nonStreamingOrderBy. Tato hodnota se ignoruje, pokud dotaz obsahuje klauzule top/offset+limit.

Zděděné vlastnosti

abortSignal

abortSignal předat všem podkladovým síťovým požadavkům vytvořeným tímto voláním metody. Viz https://developer.mozilla.org/en-US/docs/Web/API/AbortController

příklad

Zrušení žádosti o čtení

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

Nastaví, jestli se má integrovaná mezipaměť obejít nebo povolit pro požadavek ve službě Azure CosmosDB.

Výchozí hodnota je false. Ve výchozím nastavení je povolená integrovaná mezipaměť.

initialHeaders

(Případ rozšířeného použití) Počáteční hlavičky, se kterými začnete při odesílání požadavků do Cosmos

maxIntegratedCacheStalenessInMs

Nastaví hodnotu zastaralosti přidruženou k požadavku ve službě Azure CosmosDB. U požadavků, kde je <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> nebo <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, jsou zaručeny, že odpovědi z integrované mezipaměti nebudou zastaralé než hodnota určená tímto maxIntegratedCacheStaleness. Pokud úroveň konzistence není nastavena, bude tato vlastnost ignorována.

Výchozí hodnota je null

Zastaralost mezipaměti se podporuje v milisekundách členitosti. Bude ignorováno cokoli menšího než milisekundy.

priorityLevel

Úroveň priority (nízká/vysoká) pro každý požadavek. Požadavky s nízkou prioritou se vždy omezují před všemi požadavky s vysokou prioritou.

Výchozí hodnota je null. Ve výchozím nastavení mají všechny požadavky vysokou prioritu.

sessionToken

Povolí nebo zakáže získání statistik souvisejících s kvótou kontejneru dokumentů pro požadavky na čtení kontejneru dokumentů.

Podrobnosti vlastnosti

accessCondition

Podmínky přidružené k žádosti.

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

Hodnota vlastnosti

{ condition: string, type: string }

allowUnboundedNonStreamingQueries

Platné pouze pro pořadí bez streamování podle dotazu. Výchozí hodnota: false; Pokud je nastavená hodnota true, umožňuje dotazům obejít výchozí chování, které blokuje nestreamingové dotazy bez klauzulí top nebo limit.

allowUnboundedNonStreamingQueries?: boolean

Hodnota vlastnosti

boolean

bufferItems

Povolte ukládání dalších položek do vyrovnávací paměti během dotazů. Výchozí hodnota: false

Tím se na pozadí uloží další stránka do vyrovnávací paměti (vynásobená maxDegreeOfParallelism) ze serveru na pozadí. Tím se zvýší latence načtením stránek před tím, než je klient potřebuje. Pokud vyprázdníte všechny výsledky ze serveru, například .fetchAll, měli byste to obvykle povolit. Pokud načítáte jenom jednu stránku najednou prostřednictvím tokenu pokračování, měli byste se tomu vyhnout. Pokud vyprázdníte více než jednu stránku, ale ne celou sadu výsledků, může to pomoct zlepšit latenci, ale zvýší se celkové množství RU/s, které se použije k obsluhování celého dotazu (protože některé stránky se načtou více než jednou).

bufferItems?: boolean

Hodnota vlastnosti

boolean

continuation

Upozornění

Toto rozhraní API je teď zastaralé.

Use continuationToken instead.

Neprůhlásný token pro pokračování výčtu. Výchozí: nedefinováno

continuation?: string

Hodnota vlastnosti

string

continuationToken

Neprůhlásný token pro pokračování výčtu. Výchozí: nedefinováno

continuationToken?: string

Hodnota vlastnosti

string

continuationTokenLimitInKB

Omezuje velikost tokenu pokračování v odpovědi. Výchozí: nedefinováno

Tokeny pokračování obsahují volitelná data, která lze odebrat ze serializace před zápisem do hlavičky. Ve výchozím nastavení toto omezení omezujeme na 1 kB, aby nedocházelo k dlouhým záhlavím (Node.js má globální limit velikosti záhlaví). Uživatel může toto pole nastavit tak, aby umožňovalo delší hlavičky, což může back-endu pomoct optimalizovat provádění dotazů."

continuationTokenLimitInKB?: number

Hodnota vlastnosti

number

disableNonStreamingOrderByQuery

Zakažte funkci dotazu nonStreamingOrderBy v podporovaných funkcích dotazů. Výchozí hodnota: false. Nastavte hodnotu true, aby se zabránilo chybě ze staré brány, která tuto funkci nepodporuje.

disableNonStreamingOrderByQuery?: boolean

Hodnota vlastnosti

boolean

enableScanInQuery

Povolte prohledávání dotazů, které se nedají obsluhovat jako indexování, na požadovaných cestách se odhlásilo. Výchozí hodnota: false

Obecně je nejlepší se vyhnout použití tohoto nastavení. Kontroly jsou poměrně drahé a jejich obsluha trvá dlouho.

enableScanInQuery?: boolean

Hodnota vlastnosti

boolean

forceQueryPlan

Toto nastavení vynutí dotaz, aby používal plán dotazu. Výchozí hodnota: false

Poznámka: Tím zakážete podporu pokračovacích tokenů, a to i u dotazů na jeden oddíl.

U dotazů, jako jsou agregace a většina dotazů napříč oddíly, k tomu dochází i přesto. Vzhledem k tomu, že knihovna neví, o jaký typ dotazu se jedná, dokud nedostaneme zpět první odpověď, některé optimalizace se nedají provést až později.

Pokud je toto nastavení povolené, vynutí plán dotazů pro dotaz, který uloží některé síťové požadavky a zajistí, že k paralelismu může dojít. Užitečné pro to, když víte, že provádíte dotazy napříč oddíly nebo agregacemi.

forceQueryPlan?: boolean

Hodnota vlastnosti

boolean

maxDegreeOfParallelism

Maximální počet souběžných operací, které běží na straně klienta během paralelního spouštění dotazů v databázové službě Azure Cosmos DB. Záporné hodnoty činí, že systém automaticky rozhodne o počtu souběžných operací, které se mají spustit. Výchozí hodnota: 0 (bez paralelismu)

maxDegreeOfParallelism?: number

Hodnota vlastnosti

number

maxItemCount

Maximální počet položek, které se mají vrátit v operaci výčtu Výchozí hodnota: nedefinovaná (server definuje datovou část)

Vypršení platnosti s touto hodnotou obvykle může vést k největším změnám výkonu dotazu.

Čím menší je počet položek, tím rychleji se první výsledek doručí (pro neagregace). U větších částek bude zpracování požadavku trvat déle, ale obvykle získáte lepší propustnost pro velké dotazy (tj. pokud potřebujete 1 000 položek, než budete moct provést jakékoli další akce, nastavte maxItemCount na 1 000. Pokud můžete začít pracovat po prvních 100, nastavte maxItemCount na 100.)

maxItemCount?: number

Hodnota vlastnosti

number

partitionKey

Omezuje dotaz na konkrétní klíč oddílu. Výchozí: nedefinováno

Rozsah dotazu na jeden oddíl lze provést dvěma způsoby:

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

První část je užitečná, když je tělo dotazu mimo vaši kontrolu, ale přesto ho chcete omezit na jeden oddíl. Příklad: Zadaný dotaz koncového uživatele

partitionKey?: PartitionKey

Hodnota vlastnosti

populateIndexMetrics

Povolte vrácení metrik indexu v hlavičkách odpovědi. Výchozí hodnota: false

populateIndexMetrics?: boolean

Hodnota vlastnosti

boolean

populateQueryMetrics

Povolte vrácení metrik dotazů v hlavicích odpovědí. Výchozí hodnota: false

Používá se k ladění pomalých nebo drahých dotazů. Zvýší se také velikost odpovědi a pokud v Node.jspoužíváte malou maximální velikost záhlaví, můžete narazit na problémy rychleji.

populateQueryMetrics?: boolean

Hodnota vlastnosti

boolean

useIncrementalFeed

Poznámka: Místo toho zvažte použití funkce ChangeFeed.

Označuje požadavek kanálu změn. Musí být nastavená na přírůstkový informační kanál nebo jinak vynechána. Výchozí hodnota: false

useIncrementalFeed?: boolean

Hodnota vlastnosti

boolean

vectorSearchBufferSize

Určuje vlastní maximální velikost vyrovnávací paměti pro ukládání konečných výsledků pro dotazy nonStreamingOrderBy. Tato hodnota se ignoruje, pokud dotaz obsahuje klauzule top/offset+limit.

vectorSearchBufferSize?: number

Hodnota vlastnosti

number

Podrobnosti zděděných vlastností

abortSignal

abortSignal předat všem podkladovým síťovým požadavkům vytvořeným tímto voláním metody. Viz https://developer.mozilla.org/en-US/docs/Web/API/AbortController

příklad

Zrušení žádosti o čtení

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

Hodnota vlastnosti

AbortSignal

zděděno zeSharedOptions.abortSignal

bypassIntegratedCache

Nastaví, jestli se má integrovaná mezipaměť obejít nebo povolit pro požadavek ve službě Azure CosmosDB.

Výchozí hodnota je false. Ve výchozím nastavení je povolená integrovaná mezipaměť.

bypassIntegratedCache?: boolean

Hodnota vlastnosti

boolean

zděděno zeSharedOptions.bypassIntegratedCache

initialHeaders

(Případ rozšířeného použití) Počáteční hlavičky, se kterými začnete při odesílání požadavků do Cosmos

initialHeaders?: CosmosHeaders

Hodnota vlastnosti

zděděno zeSharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

Nastaví hodnotu zastaralosti přidruženou k požadavku ve službě Azure CosmosDB. U požadavků, kde je <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> nebo <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, jsou zaručeny, že odpovědi z integrované mezipaměti nebudou zastaralé než hodnota určená tímto maxIntegratedCacheStaleness. Pokud úroveň konzistence není nastavena, bude tato vlastnost ignorována.

Výchozí hodnota je null

Zastaralost mezipaměti se podporuje v milisekundách členitosti. Bude ignorováno cokoli menšího než milisekundy.

maxIntegratedCacheStalenessInMs?: number

Hodnota vlastnosti

number

zděděno zeSharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

Úroveň priority (nízká/vysoká) pro každý požadavek. Požadavky s nízkou prioritou se vždy omezují před všemi požadavky s vysokou prioritou.

Výchozí hodnota je null. Ve výchozím nastavení mají všechny požadavky vysokou prioritu.

priorityLevel?: PriorityLevel

Hodnota vlastnosti

zděděno zeSharedOptions.priorityLevel

sessionToken

Povolí nebo zakáže získání statistik souvisejících s kvótou kontejneru dokumentů pro požadavky na čtení kontejneru dokumentů.

sessionToken?: string

Hodnota vlastnosti

string

zděděno zeSharedOptions.sessionToken