FeedOptions interface
Možnosti informačního kanálu a metody dotazu.
- Extends
Vlastnosti
access |
Podmínky přidružené k požadavku. |
buffer |
Povolte ukládání dalších položek do vyrovnávací paměti během dotazů. Výchozí: false Tím se uloží do vyrovnávací paměti další stránky (vynásobené maxDegreeOfParallelism) ze serveru na pozadí.
To zvyšuje latenci tím, že načítá stránky dřív, než je klient potřebuje. Pokud ze serveru vyprázdníte všechny výsledky, například |
continuation | Neprůžný token pro pokračování ve výčtu. Výchozí: nedefinováno |
continuation |
Neprůžný token pro pokračování ve výčtu. Výchozí: nedefinováno |
continuation |
Omezuje velikost pokračovacího tokenu v odpovědi. Výchozí: nedefinováno Pokračovací tokeny obsahují volitelná data, která lze odebrat z serializace před zápisem do hlavičky. Ve výchozím nastavení toto omezení omezujeme na 1 kB, abychom se vyhnuli dlouhým záhlavím (Node.js má globální limit velikosti hlaviček). 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ů. |
enable |
Povolit kontrolu dotazů, které se nedají obsložení, protože indexování bylo na požadovaných cestách odhlášení. Výchozí: false Obecně je nejlepší se použití tohoto nastavení vyhnout. Kontroly jsou poměrně drahé a jejich obsluha trvá dlouho. |
force |
Toto nastavení vynutí, aby dotaz používal plán dotazu. Výchozí: false Poznámka: Tím zakážete podporu tokenů pokračování, a to i pro dotazy s jedním oddílem. U dotazů, jako jsou agregace a většina dotazů napříč oddíly, k tomu stejně dochází. Vzhledem k tomu, že knihovna neví, o jaký typ dotazu se jedná, dokud nedostaneme zpět první odpověď, může k určité optimalizaci dojít až později. Pokud je toto nastavení povolené, vynutí pro dotaz plán dotazu, který uloží některé síťové požadavky a zajistí paralelismus. Užitečné v případě, že víte, že provádíte dotazy napříč oddíly nebo agregace. |
max |
Maximální počet souběžných operací, které se spouští na straně klienta během paralelního provádění dotazů v databázové službě Azure Cosmos DB. Záporné hodnoty umožňují systému automaticky určit počet souběžných operací, které se mají spustit. Výchozí hodnota: 0 (bez paralelismu) |
max |
Maximální počet položek, které se mají vrátit v operaci výčtu. Výchozí: nedefinováno (server definuje datovou část) Vypršení platnosti s touto hodnotou může obvykle vést k největším změnám výkonu dotazu. Čím menší je počet položek, tím rychleji se doručí první výsledek (pro neagregované položky). 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, nastavenou |
partition |
Omezí dotaz na konkrétní klíč oddílu. Výchozí: nedefinováno Vymezení rozsahu dotazu na jeden oddíl je možné provést dvěma způsoby:
První možnost 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: Dotaz zadaný koncovým uživatelem |
populate |
Povolte v hlavičce odpovědi vracené metriky indexu. Výchozí: false |
populate |
Povolte metriky vracející dotazy v hlavičce odpovědí. Výchozí hodnota: false Používá se k ladění pomalých nebo nákladných dotazů. Zvětšuje se také velikost odpovědi, a pokud v Node.js používáte nízkou maximální velikost hlavičky, můžete rychleji narazit na problémy. |
use |
Poznámka: Zvažte místo toho použití kanálu změn. Označuje žádost kanálu změn. Musí být nastavená na "Přírůstkové informační kanály", jinak se nesmí vynechat. Výchozí hodnota: false |
Zděděné vlastnosti
abort |
abortSignal pro předání do všech podkladových síťových požadavků vytvořených voláním této metody. Viz https://developer.mozilla.org/en-US/docs/Web/API/AbortController. Příklad Zrušení žádosti o čtení
|
initial |
(Upřesňující případ použití) Počáteční hlavičky, které se mají začít používat při odesílání požadavků do Služby Cosmos |
max |
Nastaví hodnotu zastaralosti přidruženou k požadavku ve službě Azure CosmosDB. U požadavků, u kterých <xref:com.azure.cosmos.ConsistencyLevel> je <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> nebo <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, je zaručeno, že odpovědi z integrované mezipaměti nebudou zastaralá než hodnota uvedená tímto maxIntegratedCacheStaleness. Pokud není nastavena úroveň konzistence, je tato vlastnost ignorována. Výchozí hodnota je null. Nekalost mezipaměti se podporuje v milisekundách. Cokoli menšího než milisekundy bude ignorováno. |
priority |
Úroveň priority (nízká/vysoká) pro každou žádost. Požadavky s nízkou prioritou se vždy omezují před požadavky s vysokou prioritou. Výchozí hodnota je null. Ve výchozím nastavení mají všechny požadavky vysokou prioritu. |
session |
Povolí nebo zakáže získání statistik souvisejících s kvótou kontejneru dokumentů pro žádosti o čtení kontejneru dokumentů. |
Podrobnosti vlastnosti
accessCondition
Podmínky přidružené k požadavku.
accessCondition?: { condition: string, type: string }
Hodnota vlastnosti
{ condition: string, type: string }
bufferItems
Povolte ukládání dalších položek do vyrovnávací paměti během dotazů. Výchozí: false
Tím se uloží do vyrovnávací paměti další stránky (vynásobené maxDegreeOfParallelism) ze serveru na pozadí.
To zvyšuje latenci tím, že načítá stránky dřív, než je klient potřebuje. Pokud ze serveru vyprázdníte všechny výsledky, například .fetchAll
, měli byste to obvykle povolit. Pokud načítáte jenom jednu stránku najednou prostřednictvím pokračovacího tokenu, 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 zvýšit latenci, ale zvýší se tím celkové využití RU/s pro obsluhu 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ůžný token pro pokračování ve výčtu. Výchozí: nedefinováno
continuation?: string
Hodnota vlastnosti
string
continuationToken
Neprůžný token pro pokračování ve výčtu. Výchozí: nedefinováno
continuationToken?: string
Hodnota vlastnosti
string
continuationTokenLimitInKB
Omezuje velikost pokračovacího tokenu v odpovědi. Výchozí: nedefinováno
Pokračovací tokeny obsahují volitelná data, která lze odebrat z serializace před zápisem do hlavičky. Ve výchozím nastavení toto omezení omezujeme na 1 kB, abychom se vyhnuli dlouhým záhlavím (Node.js má globální limit velikosti hlaviček). 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
enableScanInQuery
Povolit kontrolu dotazů, které se nedají obsložení, protože indexování bylo na požadovaných cestách odhlášení. Výchozí: false
Obecně je nejlepší se použití tohoto nastavení vyhnout. Kontroly jsou poměrně drahé a jejich obsluha trvá dlouho.
enableScanInQuery?: boolean
Hodnota vlastnosti
boolean
forceQueryPlan
Toto nastavení vynutí, aby dotaz používal plán dotazu. Výchozí: false
Poznámka: Tím zakážete podporu tokenů pokračování, a to i pro dotazy s jedním oddílem.
U dotazů, jako jsou agregace a většina dotazů napříč oddíly, k tomu stejně dochází. Vzhledem k tomu, že knihovna neví, o jaký typ dotazu se jedná, dokud nedostaneme zpět první odpověď, může k určité optimalizaci dojít až později.
Pokud je toto nastavení povolené, vynutí pro dotaz plán dotazu, který uloží některé síťové požadavky a zajistí paralelismus. Užitečné v případě, že víte, že provádíte dotazy napříč oddíly nebo agregace.
forceQueryPlan?: boolean
Hodnota vlastnosti
boolean
maxDegreeOfParallelism
Maximální počet souběžných operací, které se spouští na straně klienta během paralelního provádění dotazů v databázové službě Azure Cosmos DB. Záporné hodnoty umožňují systému automaticky určit počet 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í: nedefinováno (server definuje datovou část)
Vypršení platnosti s touto hodnotou může obvykle vést k největším změnám výkonu dotazu.
Čím menší je počet položek, tím rychleji se doručí první výsledek (pro neagregované položky). 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, nastavenou maxItemCount
na hodnotu 1000). Pokud můžete začít pracovat po prvních 100, nastavte maxItemCount
na hodnotu 100.)
maxItemCount?: number
Hodnota vlastnosti
number
partitionKey
Omezí dotaz na konkrétní klíč oddílu. Výchozí: nedefinováno
Vymezení rozsahu dotazu na jeden oddíl je možné 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í možnost 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: Dotaz zadaný koncovým uživatelem
partitionKey?: PartitionKey
Hodnota vlastnosti
populateIndexMetrics
Povolte v hlavičce odpovědi vracené metriky indexu. Výchozí: false
populateIndexMetrics?: boolean
Hodnota vlastnosti
boolean
populateQueryMetrics
Povolte metriky vracející dotazy v hlavičce odpovědí. Výchozí hodnota: false
Používá se k ladění pomalých nebo nákladných dotazů. Zvětšuje se také velikost odpovědi, a pokud v Node.js používáte nízkou maximální velikost hlavičky, můžete rychleji narazit na problémy.
populateQueryMetrics?: boolean
Hodnota vlastnosti
boolean
useIncrementalFeed
Poznámka: Zvažte místo toho použití kanálu změn.
Označuje žádost kanálu změn. Musí být nastavená na "Přírůstkové informační kanály", jinak se nesmí vynechat. Výchozí hodnota: false
useIncrementalFeed?: boolean
Hodnota vlastnosti
boolean
Podrobnosti zděděných vlastností
abortSignal
abortSignal pro předání do všech podkladových síťových požadavků vytvořených voláním této 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
initialHeaders
(Upřesňující případ použití) Počáteční hlavičky, které se mají začít používat při odesílání požadavků do Služby 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ů, u kterých <xref:com.azure.cosmos.ConsistencyLevel> je <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> nebo <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, je zaručeno, že odpovědi z integrované mezipaměti nebudou zastaralá než hodnota uvedená tímto maxIntegratedCacheStaleness. Pokud není nastavena úroveň konzistence, je tato vlastnost ignorována.
Výchozí hodnota je null.
Nekalost mezipaměti se podporuje v milisekundách. Cokoli menšího než milisekundy bude ignorováno.
maxIntegratedCacheStalenessInMs?: number
Hodnota vlastnosti
number
priorityLevel
Úroveň priority (nízká/vysoká) pro každou žádost. Požadavky s nízkou prioritou se vždy omezují před 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 žádosti o čtení kontejneru dokumentů.
sessionToken?: string
Hodnota vlastnosti
string
Zděděno zeSharedOptions.sessionToken