Udostępnij za pomocą


FeedOptions interface

Opcje kanału informacyjnego i metody zapytań.

Rozszerzenie

Właściwości

accessCondition

Warunki skojarzone z żądaniem.

allowUnboundedNonStreamingQueries

Prawidłowa tylko w przypadku zamówienia przesyłania strumieniowego według zapytania. Wartość domyślna: false; Po ustawieniu wartości true umożliwia ona zapytaniom obejście domyślnego zachowania, które blokuje zapytania inne niż przesyłania strumieniowego bez klauzul górnej lub limitu.

bufferItems

Włącz buforowanie dodatkowych elementów podczas zapytań. Ustawienie domyślne: false

Spowoduje to bufor dodatkowej strony naraz (pomnożone przez maxDegreeOfParallelism) z serwera w tle. Zwiększa to opóźnienie przez pobieranie stron, zanim będą one potrzebne przez klienta. Jeśli opróżniasz wszystkie wyniki z serwera, na przykład .fetchAll, zwykle należy to włączyć. Jeśli pobierasz tylko jedną stronę naraz za pośrednictwem tokenu kontynuacji, należy tego uniknąć. Jeśli opróżniasz więcej niż jedną stronę, ale nie cały zestaw wyników, może to pomóc zwiększyć opóźnienie, ale zwiększy łączną ilość jednostek RU/s do obsługi całego zapytania (ponieważ niektóre strony zostaną pobrane więcej niż raz).

continuation

Nieprzezroczystym tokenem umożliwiającym kontynuowanie wyliczenia. Ustawienie domyślne: niezdefiniowane

continuationToken

Nieprzezroczystym tokenem umożliwiającym kontynuowanie wyliczenia. Ustawienie domyślne: niezdefiniowane

continuationTokenLimitInKB

Ogranicza rozmiar tokenu kontynuacji w odpowiedzi. Ustawienie domyślne: niezdefiniowane

Tokeny kontynuacji zawierają opcjonalne dane, które można usunąć z serializacji przed zapisaniem ich w nagłówku. Domyślnie ograniczamy to do 1 kb, aby uniknąć długich nagłówków (Node.js ma globalny limit rozmiaru nagłówka). Użytkownik może ustawić to pole, aby umożliwić dłuższe nagłówki, co może pomóc w optymalizacji wykonywania zapytań zaplecza.

disableHybridSearchQueryPlanOptimization

Wartość domyślna: false. Jeśli ustawiona jest wartość true, wyłącza optymalizację planu zapytań wyszukiwania hybrydowego. Ta optymalizacja jest domyślnie włączona i służy do poprawy wydajności hybrydowych zapytań wyszukiwania.

disableNonStreamingOrderByQuery

Wyłącz funkcję kwerendy nonStreamingOrderBy w obsługiwanych funkcjach zapytań. Wartość domyślna: false. Ustaw wartość true, aby uniknąć błędu ze starej bramy, która nie obsługuje tej funkcji.

enableQueryControl

Steruje zachowaniem wykonywania zapytania. Wartość domyślna: false. W przypadku ustawienia wartości false zapytanie będzie ponawiać próbę do momentu uzyskania wyników i maxItemCount osiągnięcia, co może zająć trochę czasu w przypadku dużych partycji ze stosunkowo małymi danymi. Jeśli jest ustawiona na true, skanuje partycje do maxDegreeOfParallelism, dodaje wyniki do buforu i zwraca to, co jest dostępne. Jeśli wyniki nie są gotowe, zwraca pustą odpowiedź.

enableScanInQuery

Zezwalaj na skanowanie zapytań, których nie można obsłużyć jako indeksowanie zostało odrzucone w żądanych ścieżkach. Ustawienie domyślne: false

Ogólnie rzecz biorąc, najlepiej jest unikać używania tego ustawienia. Skanowanie jest stosunkowo kosztowne i zajmuje dużo czasu.

forceQueryPlan

To ustawienie wymusza użycie planu zapytania. Ustawienie domyślne: false

Uwaga: spowoduje to wyłączenie obsługi tokenu kontynuacji, nawet w przypadku zapytań o pojedynczą partycję.

W przypadku zapytań, takich jak agregacje i większość zapytań obejmujących wiele partycji, dzieje się tak. Jednak ponieważ biblioteka nie wie, jakiego typu zapytania dotyczy, dopóki nie wrócimy do pierwszej odpowiedzi, niektóre optymalizacje nie mogą wystąpić dopiero później.

Jeśli to ustawienie jest włączone, wymusi plan zapytania dla zapytania, co spowoduje zapisanie niektórych żądań sieciowych i zapewnienie równoległości. Przydatne w przypadku, gdy wiesz, że wykonujesz zapytania obejmujące wiele partycji lub zagregowane.

maxDegreeOfParallelism

Maksymalna liczba współbieżnych operacji uruchamianych po stronie klienta podczas równoległego wykonywania zapytań w usłudze bazy danych Azure Cosmos DB. Wartości ujemne sprawiają, że system automatycznie decyduje o liczbie równoczesnych operacji do uruchomienia. Ustawienie domyślne: 0 (bez równoległości)

maxItemCount

Maksymalna liczba elementów do zwrócenia w operacji wyliczenia. Ustawienie domyślne: niezdefiniowane (zdefiniowany ładunek serwera)

Wygaśnięcie tej wartości zwykle może spowodować największe zmiany wydajności zapytania.

Tym mniejsza liczba elementów, tym szybciej zostanie dostarczony pierwszy wynik (w przypadku niegregowanych). W przypadku większych ilości wykonanie żądania zajmie więcej czasu, ale zwykle uzyskasz lepszą przepływność dla dużych zapytań (np. jeśli potrzebujesz 1000 elementów, zanim będzie można wykonać inne akcje, ustaw maxItemCount na 1000. Jeśli możesz rozpocząć pracę po pierwszym 100, ustaw wartość maxItemCount na 100).

partitionKey

Ogranicza zapytanie do określonego klucza partycji. Ustawienie domyślne: niezdefiniowane

Określenie zakresu zapytania do pojedynczej partycji można osiągnąć na dwa sposoby:

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

Pierwsza jest przydatna, gdy treść zapytania jest poza kontrolą, ale nadal chcesz ograniczyć ją do pojedynczej partycji. Przykład: określone zapytanie przez użytkownika końcowego.

populateIndexMetrics

Włącz zwracanie metryk indeksu w nagłówkach odpowiedzi. Ustawienie domyślne: false

populateQueryMetrics

Włącz zwracanie metryk zapytania w nagłówkach odpowiedzi. Ustawienie domyślne: false

Służy do debugowania wolnych lub kosztownych zapytań. Zwiększa również rozmiar odpowiedzi i jeśli używasz małego maksymalnego rozmiaru nagłówka w Node.js, możesz szybciej napotkać problemy.

useIncrementalFeed

Uwaga: zamiast tego rozważ użycie metody changeFeed.

Wskazuje żądanie zestawienia zmian. W przeciwnym razie musi być ustawiona wartość "Źródło przyrostowe" lub pominięta. Ustawienie domyślne: false

vectorSearchBufferSize

Określa niestandardowy maksymalny rozmiar buforu do przechowywania wyników końcowych dla zapytań nonStreamingOrderBy. Ta wartość jest ignorowana, jeśli zapytanie zawiera klauzule top/offset+limit.

Właściwości dziedziczone

abortSignal

abortSignal przekazać do wszystkich bazowych żądań sieciowych utworzonych przez to wywołanie metody. Zobacz https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Przykład

Anulowanie żądania odczytu

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });

const { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const controller = new AbortController();
const results = container.items.query("SELECT * from c", {
  abortSignal: controller.signal,
});
bypassIntegratedCache

Ustawia, czy zintegrowana pamięć podręczna powinna zostać pominięta lub włączona dla żądania w usłudze Azure CosmosDB.

Wartość domyślna to false. Domyślnie zintegrowana pamięć podręczna jest włączona

consistencyLevel

Poziom spójności wymagany przez klienta.

disableRUPerMinuteUsage

Funkcja DisableRUPerMinuteUsage służy do włączania/wyłączania jednostek żądań (RU)/minuty w celu obsłużenia żądania w przypadku wyczerpania zwykłej aprowizacji jednostek RU/sekundy.

excludedLocations

Wyklucza co najmniej jeden region świadczenia usługi Azure dla operacji.

Ta opcja jest stosowana tylko wtedy, gdy parametr enableEndPointDiscovery jest ustawiony na wartość true.

initialHeaders

(Zaawansowany przypadek użycia) Początkowe nagłówki do rozpoczęcia od wysyłania żądań do usługi Cosmos

maxIntegratedCacheStalenessInMs

Ustawia wartość nieaktualności skojarzona z żądaniem w usłudze Azure CosmosDB. W przypadku żądań, w których <xref:com.azure.cosmos.ConsistencyLevel> jest <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> lub <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, odpowiedzi ze zintegrowanej pamięci podręcznej nie są nieaktualne niż wartość wskazywana przez tę wartość maxIntegratedCacheStaleness. Jeśli poziom spójności nie jest ustawiony, ta właściwość jest ignorowana.

Wartość domyślna ma wartość null

Nieaktualność pamięci podręcznej jest obsługiwana w milisekundach szczegółowości. Wszystkie elementy mniejsze niż milisekundy zostaną zignorowane.

priorityLevel

Poziom priorytetu (niski/wysoki) dla każdego żądania. Żądania o niskim priorytcie są zawsze ograniczane przed żądaniami o wysokim priorytcie.

Wartość domyślna to null. Domyślnie wszystkie żądania mają wysoki priorytet

sessionToken

Włącza/wyłącza pobieranie statystyk związanych z limitem przydziału kontenera dokumentów dla żądań odczytu kontenera dokumentów.

throughputBucket

Zasobnik przepływności dla żądania.

Wartość domyślna to null. W takim przypadku żądanie może używać 100% przepływności partycji.

Aby uzyskać więcej informacji, odwiedź stronę [Zasobnik przepływności usługi Cosmos DB](https://aka.ms/cosmsodb-bucketing).

Szczegóły właściwości

accessCondition

Warunki skojarzone z żądaniem.

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

Wartość właściwości

{ condition: string, type: string }

allowUnboundedNonStreamingQueries

Prawidłowa tylko w przypadku zamówienia przesyłania strumieniowego według zapytania. Wartość domyślna: false; Po ustawieniu wartości true umożliwia ona zapytaniom obejście domyślnego zachowania, które blokuje zapytania inne niż przesyłania strumieniowego bez klauzul górnej lub limitu.

allowUnboundedNonStreamingQueries?: boolean

Wartość właściwości

boolean

bufferItems

Włącz buforowanie dodatkowych elementów podczas zapytań. Ustawienie domyślne: false

Spowoduje to bufor dodatkowej strony naraz (pomnożone przez maxDegreeOfParallelism) z serwera w tle. Zwiększa to opóźnienie przez pobieranie stron, zanim będą one potrzebne przez klienta. Jeśli opróżniasz wszystkie wyniki z serwera, na przykład .fetchAll, zwykle należy to włączyć. Jeśli pobierasz tylko jedną stronę naraz za pośrednictwem tokenu kontynuacji, należy tego uniknąć. Jeśli opróżniasz więcej niż jedną stronę, ale nie cały zestaw wyników, może to pomóc zwiększyć opóźnienie, ale zwiększy łączną ilość jednostek RU/s do obsługi całego zapytania (ponieważ niektóre strony zostaną pobrane więcej niż raz).

bufferItems?: boolean

Wartość właściwości

boolean

continuation

Ostrzeżenie

Ten interfejs API jest już przestarzały.

Use continuationToken instead.

Nieprzezroczystym tokenem umożliwiającym kontynuowanie wyliczenia. Ustawienie domyślne: niezdefiniowane

continuation?: string

Wartość właściwości

string

continuationToken

Nieprzezroczystym tokenem umożliwiającym kontynuowanie wyliczenia. Ustawienie domyślne: niezdefiniowane

continuationToken?: string

Wartość właściwości

string

continuationTokenLimitInKB

Ogranicza rozmiar tokenu kontynuacji w odpowiedzi. Ustawienie domyślne: niezdefiniowane

Tokeny kontynuacji zawierają opcjonalne dane, które można usunąć z serializacji przed zapisaniem ich w nagłówku. Domyślnie ograniczamy to do 1 kb, aby uniknąć długich nagłówków (Node.js ma globalny limit rozmiaru nagłówka). Użytkownik może ustawić to pole, aby umożliwić dłuższe nagłówki, co może pomóc w optymalizacji wykonywania zapytań zaplecza.

continuationTokenLimitInKB?: number

Wartość właściwości

number

disableHybridSearchQueryPlanOptimization

Wartość domyślna: false. Jeśli ustawiona jest wartość true, wyłącza optymalizację planu zapytań wyszukiwania hybrydowego. Ta optymalizacja jest domyślnie włączona i służy do poprawy wydajności hybrydowych zapytań wyszukiwania.

disableHybridSearchQueryPlanOptimization?: boolean

Wartość właściwości

boolean

disableNonStreamingOrderByQuery

Wyłącz funkcję kwerendy nonStreamingOrderBy w obsługiwanych funkcjach zapytań. Wartość domyślna: false. Ustaw wartość true, aby uniknąć błędu ze starej bramy, która nie obsługuje tej funkcji.

disableNonStreamingOrderByQuery?: boolean

Wartość właściwości

boolean

enableQueryControl

Steruje zachowaniem wykonywania zapytania. Wartość domyślna: false. W przypadku ustawienia wartości false zapytanie będzie ponawiać próbę do momentu uzyskania wyników i maxItemCount osiągnięcia, co może zająć trochę czasu w przypadku dużych partycji ze stosunkowo małymi danymi. Jeśli jest ustawiona na true, skanuje partycje do maxDegreeOfParallelism, dodaje wyniki do buforu i zwraca to, co jest dostępne. Jeśli wyniki nie są gotowe, zwraca pustą odpowiedź.

enableQueryControl?: boolean

Wartość właściwości

boolean

enableScanInQuery

Zezwalaj na skanowanie zapytań, których nie można obsłużyć jako indeksowanie zostało odrzucone w żądanych ścieżkach. Ustawienie domyślne: false

Ogólnie rzecz biorąc, najlepiej jest unikać używania tego ustawienia. Skanowanie jest stosunkowo kosztowne i zajmuje dużo czasu.

enableScanInQuery?: boolean

Wartość właściwości

boolean

forceQueryPlan

To ustawienie wymusza użycie planu zapytania. Ustawienie domyślne: false

Uwaga: spowoduje to wyłączenie obsługi tokenu kontynuacji, nawet w przypadku zapytań o pojedynczą partycję.

W przypadku zapytań, takich jak agregacje i większość zapytań obejmujących wiele partycji, dzieje się tak. Jednak ponieważ biblioteka nie wie, jakiego typu zapytania dotyczy, dopóki nie wrócimy do pierwszej odpowiedzi, niektóre optymalizacje nie mogą wystąpić dopiero później.

Jeśli to ustawienie jest włączone, wymusi plan zapytania dla zapytania, co spowoduje zapisanie niektórych żądań sieciowych i zapewnienie równoległości. Przydatne w przypadku, gdy wiesz, że wykonujesz zapytania obejmujące wiele partycji lub zagregowane.

forceQueryPlan?: boolean

Wartość właściwości

boolean

maxDegreeOfParallelism

Maksymalna liczba współbieżnych operacji uruchamianych po stronie klienta podczas równoległego wykonywania zapytań w usłudze bazy danych Azure Cosmos DB. Wartości ujemne sprawiają, że system automatycznie decyduje o liczbie równoczesnych operacji do uruchomienia. Ustawienie domyślne: 0 (bez równoległości)

maxDegreeOfParallelism?: number

Wartość właściwości

number

maxItemCount

Maksymalna liczba elementów do zwrócenia w operacji wyliczenia. Ustawienie domyślne: niezdefiniowane (zdefiniowany ładunek serwera)

Wygaśnięcie tej wartości zwykle może spowodować największe zmiany wydajności zapytania.

Tym mniejsza liczba elementów, tym szybciej zostanie dostarczony pierwszy wynik (w przypadku niegregowanych). W przypadku większych ilości wykonanie żądania zajmie więcej czasu, ale zwykle uzyskasz lepszą przepływność dla dużych zapytań (np. jeśli potrzebujesz 1000 elementów, zanim będzie można wykonać inne akcje, ustaw maxItemCount na 1000. Jeśli możesz rozpocząć pracę po pierwszym 100, ustaw wartość maxItemCount na 100).

maxItemCount?: number

Wartość właściwości

number

partitionKey

Ogranicza zapytanie do określonego klucza partycji. Ustawienie domyślne: niezdefiniowane

Określenie zakresu zapytania do pojedynczej partycji można osiągnąć na dwa sposoby:

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

Pierwsza jest przydatna, gdy treść zapytania jest poza kontrolą, ale nadal chcesz ograniczyć ją do pojedynczej partycji. Przykład: określone zapytanie przez użytkownika końcowego.

partitionKey?: PartitionKey

Wartość właściwości

populateIndexMetrics

Włącz zwracanie metryk indeksu w nagłówkach odpowiedzi. Ustawienie domyślne: false

populateIndexMetrics?: boolean

Wartość właściwości

boolean

populateQueryMetrics

Włącz zwracanie metryk zapytania w nagłówkach odpowiedzi. Ustawienie domyślne: false

Służy do debugowania wolnych lub kosztownych zapytań. Zwiększa również rozmiar odpowiedzi i jeśli używasz małego maksymalnego rozmiaru nagłówka w Node.js, możesz szybciej napotkać problemy.

populateQueryMetrics?: boolean

Wartość właściwości

boolean

useIncrementalFeed

Uwaga: zamiast tego rozważ użycie metody changeFeed.

Wskazuje żądanie zestawienia zmian. W przeciwnym razie musi być ustawiona wartość "Źródło przyrostowe" lub pominięta. Ustawienie domyślne: false

useIncrementalFeed?: boolean

Wartość właściwości

boolean

vectorSearchBufferSize

Określa niestandardowy maksymalny rozmiar buforu do przechowywania wyników końcowych dla zapytań nonStreamingOrderBy. Ta wartość jest ignorowana, jeśli zapytanie zawiera klauzule top/offset+limit.

vectorSearchBufferSize?: number

Wartość właściwości

number

Szczegóły właściwości dziedziczonej

abortSignal

abortSignal przekazać do wszystkich bazowych żądań sieciowych utworzonych przez to wywołanie metody. Zobacz https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Przykład

Anulowanie żądania odczytu

import { CosmosClient } from "@azure/cosmos";

const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });

const { database } = await client.databases.createIfNotExists({ id: "Test Database" });

const { container } = await database.containers.createIfNotExists({ id: "Test Container" });

const controller = new AbortController();
const results = container.items.query("SELECT * from c", {
  abortSignal: controller.signal,
});
abortSignal?: AbortSignal

Wartość właściwości

AbortSignal

dziedziczone zSharedOptions.abortSignal

bypassIntegratedCache

Ustawia, czy zintegrowana pamięć podręczna powinna zostać pominięta lub włączona dla żądania w usłudze Azure CosmosDB.

Wartość domyślna to false. Domyślnie zintegrowana pamięć podręczna jest włączona

bypassIntegratedCache?: boolean

Wartość właściwości

boolean

dziedziczone zSharedOptions.bypassIntegratedCache

consistencyLevel

Poziom spójności wymagany przez klienta.

consistencyLevel?: string

Wartość właściwości

string

Odziedziczone poSharedOptions.consistencyLevel

disableRUPerMinuteUsage

Funkcja DisableRUPerMinuteUsage służy do włączania/wyłączania jednostek żądań (RU)/minuty w celu obsłużenia żądania w przypadku wyczerpania zwykłej aprowizacji jednostek RU/sekundy.

disableRUPerMinuteUsage?: boolean

Wartość właściwości

boolean

Odziedziczone poSharedOptions.disableRUPerMinuteUsage

excludedLocations

Wyklucza co najmniej jeden region świadczenia usługi Azure dla operacji.

Ta opcja jest stosowana tylko wtedy, gdy parametr enableEndPointDiscovery jest ustawiony na wartość true.

excludedLocations?: string[]

Wartość właściwości

string[]

Odziedziczone poSharedOptions.excludedLocations

initialHeaders

(Zaawansowany przypadek użycia) Początkowe nagłówki do rozpoczęcia od wysyłania żądań do usługi Cosmos

initialHeaders?: CosmosHeaders

Wartość właściwości

dziedziczone zSharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

Ustawia wartość nieaktualności skojarzona z żądaniem w usłudze Azure CosmosDB. W przypadku żądań, w których <xref:com.azure.cosmos.ConsistencyLevel> jest <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> lub <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, odpowiedzi ze zintegrowanej pamięci podręcznej nie są nieaktualne niż wartość wskazywana przez tę wartość maxIntegratedCacheStaleness. Jeśli poziom spójności nie jest ustawiony, ta właściwość jest ignorowana.

Wartość domyślna ma wartość null

Nieaktualność pamięci podręcznej jest obsługiwana w milisekundach szczegółowości. Wszystkie elementy mniejsze niż milisekundy zostaną zignorowane.

maxIntegratedCacheStalenessInMs?: number

Wartość właściwości

number

dziedziczone zSharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

Poziom priorytetu (niski/wysoki) dla każdego żądania. Żądania o niskim priorytcie są zawsze ograniczane przed żądaniami o wysokim priorytcie.

Wartość domyślna to null. Domyślnie wszystkie żądania mają wysoki priorytet

priorityLevel?: PriorityLevel

Wartość właściwości

dziedziczone zSharedOptions.priorityLevel

sessionToken

Włącza/wyłącza pobieranie statystyk związanych z limitem przydziału kontenera dokumentów dla żądań odczytu kontenera dokumentów.

sessionToken?: string

Wartość właściwości

string

dziedziczone zSharedOptions.sessionToken

throughputBucket

Zasobnik przepływności dla żądania.

Wartość domyślna to null. W takim przypadku żądanie może używać 100% przepływności partycji.

Aby uzyskać więcej informacji, odwiedź stronę [Zasobnik przepływności usługi Cosmos DB](https://aka.ms/cosmsodb-bucketing).
throughputBucket?: number

Wartość właściwości

number

Odziedziczone poSharedOptions.throughputBucket