Udostępnij za pośrednictwem


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.

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.

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

const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
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

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.

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

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

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

const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
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

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