Delen via


FeedOptions interface

De feedopties en querymethoden.

Extends

Eigenschappen

accessCondition

Voorwaarden die zijn gekoppeld aan de aanvraag.

bufferItems

Het bufferen van extra items tijdens query's inschakelen. Standaardinstelling: false

Hiermee wordt een extra pagina tegelijk (vermenigvuldigd met maxDegreeOfParallelism) van de server op de achtergrond gebufferd. Dit verbetert de latentie door pagina's op te halen voordat ze nodig zijn voor de client. Als u alle resultaten van de server leegloopt, zoals .fetchAll, moet u dit meestal inschakelen. Als u slechts één pagina tegelijk ophaalt via het vervolgtoken, moet u dit voorkomen. Als u meer dan één pagina leegloopt, maar niet de volledige resultatenset, kan dit de latentie helpen verbeteren, maar het totale aantal RU/s dat wordt gebruikt voor de hele query verhogen (omdat sommige pagina's meer dan één keer worden opgehaald).

continuation

Ondoorzichtig token voor het voortzetten van de opsomming. Standaardinstelling: niet gedefinieerd

continuationToken

Ondoorzichtig token voor het voortzetten van de opsomming. Standaardinstelling: niet gedefinieerd

continuationTokenLimitInKB

Hiermee wordt de grootte van het vervolgtoken in het antwoord beperkt. Standaardinstelling: niet gedefinieerd

Vervolgtokens bevatten optionele gegevens die uit de serialisatie kunnen worden verwijderd voordat ze naar een header worden geschreven. Standaard beperken we dit tot 1 kB om lange headers te voorkomen (Node.js heeft een algemene limiet voor de headergrootte). Een gebruiker kan dit veld instellen om langere headers toe te staan, waardoor de back-end queryuitvoering kan optimaliseren.

enableScanInQuery

Scannen toestaan op de query's die niet konden worden uitgevoerd als indexering, is afgemeld voor de aangevraagde paden. Standaardinstelling: false

Over het algemeen kunt u deze instelling het beste niet gebruiken. Scans zijn relatief duur en duren lang.

forceQueryPlan

Deze instelling dwingt de query om een queryplan te gebruiken. Standaardinstelling: false

Opmerking: hiermee wordt ondersteuning voor vervolgtoken uitgeschakeld, zelfs voor query's met één partitie.

Voor query's zoals aggregaties en de meeste partitieoverschrijdende query's gebeurt dit toch. Omdat de bibliotheek echter niet weet welk type query het is totdat we het eerste antwoord terugkrijen, kan enige optimalisatie pas later plaatsvinden.

Als deze instelling is ingeschakeld, wordt het queryplan voor de query geforceerd, waardoor sommige netwerkaanvragen worden opgeslagen en ervoor wordt gezorgd dat parallellisme kan plaatsvinden. Handig voor wanneer u weet dat u query's voor meerdere partities of aggregatie uitvoert.

maxDegreeOfParallelism

Het maximum aantal gelijktijdige bewerkingen dat aan de clientzijde wordt uitgevoerd tijdens het uitvoeren van parallelle query's in de Azure Cosmos DB-databaseservice. Negatieve waarden zorgen ervoor dat het systeem automatisch het aantal gelijktijdige bewerkingen bepaalt dat moet worden uitgevoerd. Standaardinstelling: 0 (geen parallelle uitvoering)

maxItemCount

Maximum aantal items dat moet worden geretourneerd in de opsommingsbewerking. Standaardinstelling: niet gedefinieerd (server definieert nettolading)

Een toename met deze waarde kan meestal leiden tot de grootste prestatiewijzigingen voor de query.

Hoe kleiner het aantal items, hoe sneller het eerste resultaat wordt geleverd (voor niet-aggregaties). Voor grotere hoeveelheden duurt het langer om de aanvraag uit te voeren, maar u krijgt meestal een betere doorvoer voor grote query's (bijvoorbeeld als u 1000 items nodig hebt voordat u andere acties kunt uitvoeren, ingesteld maxItemCount op 1000). Als u na de eerste 100 kunt beginnen met werken, stelt u in maxItemCount op 100.)

partitionKey

Beperkt de query tot een specifieke partitiesleutel. Standaardinstelling: niet gedefinieerd

Het bereik van een query op één partitie kan op twee manieren worden bereikt:

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

De eerste is handig wanneer u de hoofdtekst van de query niet kunt beheren, maar u deze toch wilt beperken tot één partitie. Voorbeeld: een door de eindgebruiker opgegeven query.

populateIndexMetrics

Schakel metrische indexgegevens in antwoordheaders in. Standaardinstelling: false

populateQueryMetrics

Schakel het retourneren van metrische querygegevens in antwoordheaders in. Standaardinstelling: false

Wordt gebruikt voor het opsporen van fouten in trage of dure query's. Vergroot ook de antwoordgrootte en als u een lage maximale headergrootte gebruikt in Node.js, kunt u sneller problemen tegenkomen.

useIncrementalFeed

Opmerking: overweeg in plaats daarvan changeFeed te gebruiken.

Hiermee wordt een wijzigingsfeedaanvraag aangegeven. Moet worden ingesteld op Incrementele feed of anders worden weggelaten. Standaardinstelling: false

Overgenomen eigenschappen

abortSignal

abortSignal om door te geven aan alle onderliggende netwerkaanvragen die door deze methodeaanroep zijn gemaakt. Zie https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Voorbeeld

Een leesaanvraag annuleren

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

(Geavanceerde use-case) Eerste headers om mee te beginnen bij het verzenden van aanvragen naar Cosmos

maxIntegratedCacheStalenessInMs

Hiermee stelt u de staleness-waarde in die is gekoppeld aan de aanvraag in de Azure CosmosDB-service. Voor aanvragen waarbij de <xref:com.azure.cosmos.ConsistencyLevel> is <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> of <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, worden antwoorden van de geïntegreerde cache gegarandeerd niet verlopen dan de waarde aangegeven door deze maxIntegratedCacheStaleness. Wanneer het consistentieniveau niet is ingesteld, wordt deze eigenschap genegeerd.

Standaardwaarde is null

Cache Staleness wordt ondersteund in milliseconden granulariteit. Alles wat kleiner is dan milliseconden wordt genegeerd.

priorityLevel

Prioriteitsniveau (laag/hoog) voor elke aanvraag. Aanvragen met een lage prioriteit worden altijd beperkt vóór aanvragen met hoge prioriteit.

De standaardwaarde is null. Standaard hebben alle aanvragen een hoge prioriteit

sessionToken

Hiermee schakelt u het ophalen van statistieken over het quotum voor documentcontainers in of uit voor leesaanvragen voor documentcontainers.

Eigenschapdetails

accessCondition

Voorwaarden die zijn gekoppeld aan de aanvraag.

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

Waarde van eigenschap

{ condition: string, type: string }

bufferItems

Het bufferen van extra items tijdens query's inschakelen. Standaardinstelling: false

Hiermee wordt een extra pagina tegelijk (vermenigvuldigd met maxDegreeOfParallelism) van de server op de achtergrond gebufferd. Dit verbetert de latentie door pagina's op te halen voordat ze nodig zijn voor de client. Als u alle resultaten van de server leegloopt, zoals .fetchAll, moet u dit meestal inschakelen. Als u slechts één pagina tegelijk ophaalt via het vervolgtoken, moet u dit voorkomen. Als u meer dan één pagina leegloopt, maar niet de volledige resultatenset, kan dit de latentie helpen verbeteren, maar het totale aantal RU/s dat wordt gebruikt voor de hele query verhogen (omdat sommige pagina's meer dan één keer worden opgehaald).

bufferItems?: boolean

Waarde van eigenschap

boolean

continuation

Waarschuwing

Deze API is nu afgeschaft.

Use continuationToken instead.

Ondoorzichtig token voor het voortzetten van de opsomming. Standaardinstelling: niet gedefinieerd

continuation?: string

Waarde van eigenschap

string

continuationToken

Ondoorzichtig token voor het voortzetten van de opsomming. Standaardinstelling: niet gedefinieerd

continuationToken?: string

Waarde van eigenschap

string

continuationTokenLimitInKB

Hiermee wordt de grootte van het vervolgtoken in het antwoord beperkt. Standaardinstelling: niet gedefinieerd

Vervolgtokens bevatten optionele gegevens die uit de serialisatie kunnen worden verwijderd voordat ze naar een header worden geschreven. Standaard beperken we dit tot 1 kB om lange headers te voorkomen (Node.js heeft een algemene limiet voor de headergrootte). Een gebruiker kan dit veld instellen om langere headers toe te staan, waardoor de back-end queryuitvoering kan optimaliseren.

continuationTokenLimitInKB?: number

Waarde van eigenschap

number

enableScanInQuery

Scannen toestaan op de query's die niet konden worden uitgevoerd als indexering, is afgemeld voor de aangevraagde paden. Standaardinstelling: false

Over het algemeen kunt u deze instelling het beste niet gebruiken. Scans zijn relatief duur en duren lang.

enableScanInQuery?: boolean

Waarde van eigenschap

boolean

forceQueryPlan

Deze instelling dwingt de query om een queryplan te gebruiken. Standaardinstelling: false

Opmerking: hiermee wordt ondersteuning voor vervolgtoken uitgeschakeld, zelfs voor query's met één partitie.

Voor query's zoals aggregaties en de meeste partitieoverschrijdende query's gebeurt dit toch. Omdat de bibliotheek echter niet weet welk type query het is totdat we het eerste antwoord terugkrijen, kan enige optimalisatie pas later plaatsvinden.

Als deze instelling is ingeschakeld, wordt het queryplan voor de query geforceerd, waardoor sommige netwerkaanvragen worden opgeslagen en ervoor wordt gezorgd dat parallellisme kan plaatsvinden. Handig voor wanneer u weet dat u query's voor meerdere partities of aggregatie uitvoert.

forceQueryPlan?: boolean

Waarde van eigenschap

boolean

maxDegreeOfParallelism

Het maximum aantal gelijktijdige bewerkingen dat aan de clientzijde wordt uitgevoerd tijdens het uitvoeren van parallelle query's in de Azure Cosmos DB-databaseservice. Negatieve waarden zorgen ervoor dat het systeem automatisch het aantal gelijktijdige bewerkingen bepaalt dat moet worden uitgevoerd. Standaardinstelling: 0 (geen parallelle uitvoering)

maxDegreeOfParallelism?: number

Waarde van eigenschap

number

maxItemCount

Maximum aantal items dat moet worden geretourneerd in de opsommingsbewerking. Standaardinstelling: niet gedefinieerd (server definieert nettolading)

Een toename met deze waarde kan meestal leiden tot de grootste prestatiewijzigingen voor de query.

Hoe kleiner het aantal items, hoe sneller het eerste resultaat wordt geleverd (voor niet-aggregaties). Voor grotere hoeveelheden duurt het langer om de aanvraag uit te voeren, maar u krijgt meestal een betere doorvoer voor grote query's (bijvoorbeeld als u 1000 items nodig hebt voordat u andere acties kunt uitvoeren, ingesteld maxItemCount op 1000). Als u na de eerste 100 kunt beginnen met werken, stelt u in maxItemCount op 100.)

maxItemCount?: number

Waarde van eigenschap

number

partitionKey

Beperkt de query tot een specifieke partitiesleutel. Standaardinstelling: niet gedefinieerd

Het bereik van een query op één partitie kan op twee manieren worden bereikt:

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

De eerste is handig wanneer u de hoofdtekst van de query niet kunt beheren, maar u deze toch wilt beperken tot één partitie. Voorbeeld: een door de eindgebruiker opgegeven query.

partitionKey?: PartitionKey

Waarde van eigenschap

populateIndexMetrics

Schakel metrische indexgegevens in antwoordheaders in. Standaardinstelling: false

populateIndexMetrics?: boolean

Waarde van eigenschap

boolean

populateQueryMetrics

Schakel het retourneren van metrische querygegevens in antwoordheaders in. Standaardinstelling: false

Wordt gebruikt voor het opsporen van fouten in trage of dure query's. Vergroot ook de antwoordgrootte en als u een lage maximale headergrootte gebruikt in Node.js, kunt u sneller problemen tegenkomen.

populateQueryMetrics?: boolean

Waarde van eigenschap

boolean

useIncrementalFeed

Opmerking: overweeg in plaats daarvan changeFeed te gebruiken.

Hiermee wordt een wijzigingsfeedaanvraag aangegeven. Moet worden ingesteld op Incrementele feed of anders worden weggelaten. Standaardinstelling: false

useIncrementalFeed?: boolean

Waarde van eigenschap

boolean

Details van overgenomen eigenschap

abortSignal

abortSignal om door te geven aan alle onderliggende netwerkaanvragen die door deze methodeaanroep zijn gemaakt. Zie https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Voorbeeld

Een leesaanvraag annuleren

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

Waarde van eigenschap

AbortSignal

Overgenomen vanSharedOptions.abortSignal

initialHeaders

(Geavanceerde use-case) Eerste headers om mee te beginnen bij het verzenden van aanvragen naar Cosmos

initialHeaders?: CosmosHeaders

Waarde van eigenschap

Overgenomen vanSharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

Hiermee stelt u de staleness-waarde in die is gekoppeld aan de aanvraag in de Azure CosmosDB-service. Voor aanvragen waarbij de <xref:com.azure.cosmos.ConsistencyLevel> is <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> of <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, worden antwoorden van de geïntegreerde cache gegarandeerd niet verlopen dan de waarde aangegeven door deze maxIntegratedCacheStaleness. Wanneer het consistentieniveau niet is ingesteld, wordt deze eigenschap genegeerd.

Standaardwaarde is null

Cache Staleness wordt ondersteund in milliseconden granulariteit. Alles wat kleiner is dan milliseconden wordt genegeerd.

maxIntegratedCacheStalenessInMs?: number

Waarde van eigenschap

number

Overgenomen vanSharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

Prioriteitsniveau (laag/hoog) voor elke aanvraag. Aanvragen met een lage prioriteit worden altijd beperkt vóór aanvragen met hoge prioriteit.

De standaardwaarde is null. Standaard hebben alle aanvragen een hoge prioriteit

priorityLevel?: PriorityLevel

Waarde van eigenschap

Overgenomen vanSharedOptions.priorityLevel

sessionToken

Hiermee schakelt u het ophalen van statistieken over het quotum voor documentcontainers in of uit voor leesaanvragen voor documentcontainers.

sessionToken?: string

Waarde van eigenschap

string

Overgenomen vanSharedOptions.sessionToken