Aracılığıyla paylaş


FeedOptions interface

Akış seçenekleri ve sorgu yöntemleri.

Extends

Özellikler

accessCondition

İstekle ilişkili koşullar.

allowUnboundedNonStreamingQueries

Yalnızca sorguya göre akış dışı sıralama için geçerlidir. Varsayılan: false; True olarak ayarlandığında, sorguların üst veya limit yan tümceleri olmadan Akışsız sorguları engelleyen varsayılan davranışı atlamasına izin verir.

bufferItems

Sorgular sırasında ek öğelerin arabelleğe alınmasını etkinleştirin. Varsayılan: false

Bu, arka planda sunucudan bir kerede ek bir sayfayı arabelleğe alır (maxDegreeOfParallelism ile çarpılır). Bu, istemci tarafından ihtiyaç duyulmadan önce sayfaları getirerek gecikme süresini artırır. Sunucudan tüm sonuçları boşaltıyorsanız, örneğin .fetchAll, genellikle bunu etkinleştirmeniz gerekir. Devamlılık belirteci aracılığıyla tek seferde yalnızca bir sayfa getiriyorsanız, bundan kaçınmanız gerekir. Birden fazla sayfa tüketiyorsanız ancak sonuç kümesinin tamamını tüketmiyorsanız, gecikme süresini artırmaya yardımcı olabilir, ancak sorgunun tamamına hizmet vermek için toplam RU/sn kullanımını artırır (bazı sayfalar birden çok kez getirileceğinden).

continuation

Numaralandırmaya devam etme için opak belirteç. Varsayılan: tanımsız

continuationToken

Numaralandırmaya devam etme için opak belirteç. Varsayılan: tanımsız

continuationTokenLimitInKB

Yanıttaki devamlılık belirtecinin boyutunu sınırlar. Varsayılan: tanımsız

Devamlılık Belirteçleri, bir üst bilgide yazmadan önce serileştirmeden kaldırılabilir isteğe bağlı veriler içerir. Varsayılan olarak, uzun başlıklardan kaçınmak için bunu 1kb ile sınırlıyoruz (Node.js'nin genel bir başlık boyutu sınırı vardır). Kullanıcı bu alanı daha uzun üst bilgiler sağlayacak şekilde ayarlayabilir ve bu da arka ucun sorgu yürütmeyi iyileştirmesine yardımcı olabilir."

disableHybridSearchQueryPlanOptimization

Varsayılan: false. Doğru olarak ayarlanırsa, karma arama sorgusu planı optimizasyonunu devre dışı bırakır. Bu optimizasyon varsayılan olarak etkindir ve karma arama sorgularının performansını artırmak için kullanılır.

disableNonStreamingOrderByQuery

Desteklenen sorgu özelliklerinde nonStreamingOrderBy sorgu özelliğini devre dışı bırakın. Varsayılan: false. Bu özelliği desteklemeyen eski bir ağ geçidinde hata oluşmasını önlemek için true olarak ayarlayın.

enableQueryControl

Sorgu yürütme davranışını denetler. Varsayılan: false. false olarak ayarlanırsa, sonuçlar hazır olana ve ulaşılana kadar sorgu yeniden denenir ve maxItemCount bu da nispeten küçük verilere sahip büyük bölümler için zaman alabilir. true olarak ayarlanırsa, 'a maxDegreeOfParallelismkadar olan bölümleri tarar, sonuçları arabelleğe ekler ve kullanılabilir olanları döndürür. Sonuçlar hazır değilse, boş bir yanıt döndürür.

enableScanInQuery

Dizin oluşturma istenen yollarda devre dışı bırakıldığı için hizmet veremeyen sorgularda taramaya izin verin. Varsayılan: false

Genel olarak, bu ayarı kullanmaktan kaçınmak en iyisidir. Taramalar nispeten pahalıdır ve hizmet vermek uzun sürer.

forceQueryPlan

Bu ayar sorguyu sorgu planını kullanmaya zorlar. Varsayılan: false

Not: Bu işlem, tek bölüm sorguları için bile devamlılık belirteci desteğini devre dışı bırakır.

Toplamalar ve bölümler arası sorguların çoğu gibi sorgular için bu yine de gerçekleşir. Ancak, kitaplık ilk yanıtı geri alıncaya kadar ne tür bir sorgu olduğunu bilmediğinden, daha sonraya kadar bazı iyileştirmeler gerçekleşemez.

Bu ayar etkinleştirilirse sorgu için sorgu planını zorlar ve bu da bazı ağ isteklerini kaydeder ve paralelliğin gerçekleşmesini sağlar. Bölümler arası veya toplu sorgular yaptığınızı bildiğiniz zamanlar için kullanışlıdır.

maxDegreeOfParallelism

Azure Cosmos DB veritabanı hizmetinde paralel sorgu yürütme sırasında istemci tarafı çalıştıran en fazla eşzamanlı işlem sayısı. Negatif değerler, sistemin çalıştırılacak eşzamanlı işlem sayısına otomatik olarak karar vermesine neden olur. Varsayılan: 0 (paralellik yok)

maxItemCount

Numaralandırma işleminde döndürülecek en fazla öğe sayısı. Varsayılan: tanımsız (sunucu yükü tanımlayacak)

Bu değerle süre sonu genellikle sorguda en büyük performans değişikliklerine neden olabilir.

Öğe sayısı ne kadar küçük olursa, ilk sonuç o kadar hızlı teslim olur (toplama olmayanlar için). Daha büyük miktarlar için isteğin sunulması daha uzun sürer, ancak genellikle büyük sorgular için daha iyi aktarım hızı elde edersiniz (yani, başka bir eylem gerçekleştirmeden önce 1000 öğeye ihtiyacınız varsa, 1000 olarak ayarlayın maxItemCount . İlk 100'den sonra çalışmaya başlayabiliyorsanız, 100 olarak ayarlayın maxItemCount .)

partitionKey

Sorguyu belirli bir bölüm anahtarıyla sınırlar. Varsayılan: tanımsız

Bir sorguyu tek bir bölüme kapsam belirleme iki şekilde gerçekleştirilebilir:

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

İlki, sorgu gövdesi denetiminizin dışında olduğunda ancak yine de tek bir bölümle kısıtlamak istediğinizde kullanışlıdır. Örnek: son kullanıcı tarafından belirtilen sorgu.

populateIndexMetrics

Yanıt üst bilgilerinde dizin ölçümlerini döndürmeyi etkinleştirin. Varsayılan: false

populateQueryMetrics

Yanıt üst bilgilerinde sorgu ölçümlerini döndürmeyi etkinleştirin. Varsayılan: false

Yavaş veya pahalı sorgularda hata ayıklamak için kullanılır. Ayrıca yanıt boyutunu artırır ve Node.js'da düşük bir maksimum başlık boyutu kullanıyorsanız, sorunlarla daha hızlı karşılaşabilirsiniz.

useIncrementalFeed

Not: bunun yerine changeFeed kullanmayı göz önünde bulundurun.

Değişiklik akışı isteğini gösterir. "Artımlı akış" olarak ayarlanmalıdır veya aksi takdirde atlanmalıdır. Varsayılan: false

vectorSearchBufferSize

NonStreamingOrderBy sorguları için son sonuçları depolamak için özel bir en büyük arabellek boyutu belirtir. Sorgu top/offset+limit yan tümceleri içeriyorsa bu değer yoksayılır.

Devralınan Özellikler

abortSignal

bu yöntem çağrısı tarafından oluşturulan tüm temel ağ isteklerine geçirmek için abortSignal. Bkz. https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Örnek

Okuma isteğini iptal etme

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

Tümleşik önbelleğin Azure CosmosDB hizmetinde istek için atlanması veya etkinleştirilmesi gerekip gerekmediğini ayarlar.

Varsayılan değer false'tur. Varsayılan olarak tümleşik önbellek etkindir

consistencyLevel

İstemci tarafından istenen tutarlılık düzeyi.

disableRUPerMinuteUsage

DisableRUPerMinuteUsage, normal sağlanan RU'lar/saniye tükenirse isteğe hizmet vermek üzere İstek Birimleri (RU)/dakika kapasitesini etkinleştirmek/devre dışı bırakmak için kullanılır.

excludedLocations

İşlem için bir veya daha fazla Azure bölgesini dışlar.

Bu seçenek yalnızca enableEndPointDiscovery true olarak ayarlandığında uygulanır.

initialHeaders

(Gelişmiş kullanım örneği) Cosmos'a istek gönderirken ilk olarak başlanması gereken üst bilgiler

maxIntegratedCacheStalenessInMs

Azure CosmosDB hizmetindeki istekle ilişkili eskime değerini ayarlar. <xref:com.azure.cosmos.ConsistencyLevel> <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> veya <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>istekler için, tümleşik önbellekten gelen yanıtların bu maxIntegratedCacheStaleness tarafından belirtilen değerden daha eski olmaması garanti edilir. Tutarlılık düzeyi ayarlanmadığında, bu özellik yoksayılır.

Varsayılan değer null

Önbellek Eskiliği milisaniye ayrıntı düzeyinde desteklenir. Milisaniyeden küçük her şey yoksayılır.

priorityLevel

Her istek için Öncelik Düzeyi (Düşük/Yüksek). Düşük öncelikli istekler, yüksek öncelikli isteklerden önce her zaman kısıtlanmıştır.

Varsayılan değer null'tır. Varsayılan olarak tüm istekler Yüksek önceliklidir

sessionToken

Belge kapsayıcısı okuma istekleri için belge kapsayıcısı kotası ile ilgili istatistikleri almayı etkinleştirir/devre dışı bırakır.

throughputBucket

Bir istek için Aktarım Hızı Kovası.

Varsayılan değer null'tır. Bu durumda, istek bölüm aktarım hızının% 100'ünü kullanabilir.

Daha fazla bilgi için [Cosmos DB aktarım hızı Demleme](https://aka.ms/cosmsodb-bucketing).

Özellik Ayrıntıları

accessCondition

İstekle ilişkili koşullar.

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

Özellik Değeri

{ condition: string, type: string }

allowUnboundedNonStreamingQueries

Yalnızca sorguya göre akış dışı sıralama için geçerlidir. Varsayılan: false; True olarak ayarlandığında, sorguların üst veya limit yan tümceleri olmadan Akışsız sorguları engelleyen varsayılan davranışı atlamasına izin verir.

allowUnboundedNonStreamingQueries?: boolean

Özellik Değeri

boolean

bufferItems

Sorgular sırasında ek öğelerin arabelleğe alınmasını etkinleştirin. Varsayılan: false

Bu, arka planda sunucudan bir kerede ek bir sayfayı arabelleğe alır (maxDegreeOfParallelism ile çarpılır). Bu, istemci tarafından ihtiyaç duyulmadan önce sayfaları getirerek gecikme süresini artırır. Sunucudan tüm sonuçları boşaltıyorsanız, örneğin .fetchAll, genellikle bunu etkinleştirmeniz gerekir. Devamlılık belirteci aracılığıyla tek seferde yalnızca bir sayfa getiriyorsanız, bundan kaçınmanız gerekir. Birden fazla sayfa tüketiyorsanız ancak sonuç kümesinin tamamını tüketmiyorsanız, gecikme süresini artırmaya yardımcı olabilir, ancak sorgunun tamamına hizmet vermek için toplam RU/sn kullanımını artırır (bazı sayfalar birden çok kez getirileceğinden).

bufferItems?: boolean

Özellik Değeri

boolean

continuation

Uyarı

Bu API artık kullanım dışıdır.

Use continuationToken instead.

Numaralandırmaya devam etme için opak belirteç. Varsayılan: tanımsız

continuation?: string

Özellik Değeri

string

continuationToken

Numaralandırmaya devam etme için opak belirteç. Varsayılan: tanımsız

continuationToken?: string

Özellik Değeri

string

continuationTokenLimitInKB

Yanıttaki devamlılık belirtecinin boyutunu sınırlar. Varsayılan: tanımsız

Devamlılık Belirteçleri, bir üst bilgide yazmadan önce serileştirmeden kaldırılabilir isteğe bağlı veriler içerir. Varsayılan olarak, uzun başlıklardan kaçınmak için bunu 1kb ile sınırlıyoruz (Node.js'nin genel bir başlık boyutu sınırı vardır). Kullanıcı bu alanı daha uzun üst bilgiler sağlayacak şekilde ayarlayabilir ve bu da arka ucun sorgu yürütmeyi iyileştirmesine yardımcı olabilir."

continuationTokenLimitInKB?: number

Özellik Değeri

number

disableHybridSearchQueryPlanOptimization

Varsayılan: false. Doğru olarak ayarlanırsa, karma arama sorgusu planı optimizasyonunu devre dışı bırakır. Bu optimizasyon varsayılan olarak etkindir ve karma arama sorgularının performansını artırmak için kullanılır.

disableHybridSearchQueryPlanOptimization?: boolean

Özellik Değeri

boolean

disableNonStreamingOrderByQuery

Desteklenen sorgu özelliklerinde nonStreamingOrderBy sorgu özelliğini devre dışı bırakın. Varsayılan: false. Bu özelliği desteklemeyen eski bir ağ geçidinde hata oluşmasını önlemek için true olarak ayarlayın.

disableNonStreamingOrderByQuery?: boolean

Özellik Değeri

boolean

enableQueryControl

Sorgu yürütme davranışını denetler. Varsayılan: false. false olarak ayarlanırsa, sonuçlar hazır olana ve ulaşılana kadar sorgu yeniden denenir ve maxItemCount bu da nispeten küçük verilere sahip büyük bölümler için zaman alabilir. true olarak ayarlanırsa, 'a maxDegreeOfParallelismkadar olan bölümleri tarar, sonuçları arabelleğe ekler ve kullanılabilir olanları döndürür. Sonuçlar hazır değilse, boş bir yanıt döndürür.

enableQueryControl?: boolean

Özellik Değeri

boolean

enableScanInQuery

Dizin oluşturma istenen yollarda devre dışı bırakıldığı için hizmet veremeyen sorgularda taramaya izin verin. Varsayılan: false

Genel olarak, bu ayarı kullanmaktan kaçınmak en iyisidir. Taramalar nispeten pahalıdır ve hizmet vermek uzun sürer.

enableScanInQuery?: boolean

Özellik Değeri

boolean

forceQueryPlan

Bu ayar sorguyu sorgu planını kullanmaya zorlar. Varsayılan: false

Not: Bu işlem, tek bölüm sorguları için bile devamlılık belirteci desteğini devre dışı bırakır.

Toplamalar ve bölümler arası sorguların çoğu gibi sorgular için bu yine de gerçekleşir. Ancak, kitaplık ilk yanıtı geri alıncaya kadar ne tür bir sorgu olduğunu bilmediğinden, daha sonraya kadar bazı iyileştirmeler gerçekleşemez.

Bu ayar etkinleştirilirse sorgu için sorgu planını zorlar ve bu da bazı ağ isteklerini kaydeder ve paralelliğin gerçekleşmesini sağlar. Bölümler arası veya toplu sorgular yaptığınızı bildiğiniz zamanlar için kullanışlıdır.

forceQueryPlan?: boolean

Özellik Değeri

boolean

maxDegreeOfParallelism

Azure Cosmos DB veritabanı hizmetinde paralel sorgu yürütme sırasında istemci tarafı çalıştıran en fazla eşzamanlı işlem sayısı. Negatif değerler, sistemin çalıştırılacak eşzamanlı işlem sayısına otomatik olarak karar vermesine neden olur. Varsayılan: 0 (paralellik yok)

maxDegreeOfParallelism?: number

Özellik Değeri

number

maxItemCount

Numaralandırma işleminde döndürülecek en fazla öğe sayısı. Varsayılan: tanımsız (sunucu yükü tanımlayacak)

Bu değerle süre sonu genellikle sorguda en büyük performans değişikliklerine neden olabilir.

Öğe sayısı ne kadar küçük olursa, ilk sonuç o kadar hızlı teslim olur (toplama olmayanlar için). Daha büyük miktarlar için isteğin sunulması daha uzun sürer, ancak genellikle büyük sorgular için daha iyi aktarım hızı elde edersiniz (yani, başka bir eylem gerçekleştirmeden önce 1000 öğeye ihtiyacınız varsa, 1000 olarak ayarlayın maxItemCount . İlk 100'den sonra çalışmaya başlayabiliyorsanız, 100 olarak ayarlayın maxItemCount .)

maxItemCount?: number

Özellik Değeri

number

partitionKey

Sorguyu belirli bir bölüm anahtarıyla sınırlar. Varsayılan: tanımsız

Bir sorguyu tek bir bölüme kapsam belirleme iki şekilde gerçekleştirilebilir:

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

İlki, sorgu gövdesi denetiminizin dışında olduğunda ancak yine de tek bir bölümle kısıtlamak istediğinizde kullanışlıdır. Örnek: son kullanıcı tarafından belirtilen sorgu.

partitionKey?: PartitionKey

Özellik Değeri

populateIndexMetrics

Yanıt üst bilgilerinde dizin ölçümlerini döndürmeyi etkinleştirin. Varsayılan: false

populateIndexMetrics?: boolean

Özellik Değeri

boolean

populateQueryMetrics

Yanıt üst bilgilerinde sorgu ölçümlerini döndürmeyi etkinleştirin. Varsayılan: false

Yavaş veya pahalı sorgularda hata ayıklamak için kullanılır. Ayrıca yanıt boyutunu artırır ve Node.js'da düşük bir maksimum başlık boyutu kullanıyorsanız, sorunlarla daha hızlı karşılaşabilirsiniz.

populateQueryMetrics?: boolean

Özellik Değeri

boolean

useIncrementalFeed

Not: bunun yerine changeFeed kullanmayı göz önünde bulundurun.

Değişiklik akışı isteğini gösterir. "Artımlı akış" olarak ayarlanmalıdır veya aksi takdirde atlanmalıdır. Varsayılan: false

useIncrementalFeed?: boolean

Özellik Değeri

boolean

vectorSearchBufferSize

NonStreamingOrderBy sorguları için son sonuçları depolamak için özel bir en büyük arabellek boyutu belirtir. Sorgu top/offset+limit yan tümceleri içeriyorsa bu değer yoksayılır.

vectorSearchBufferSize?: number

Özellik Değeri

number

Devralınan Özellik Detayları

abortSignal

bu yöntem çağrısı tarafından oluşturulan tüm temel ağ isteklerine geçirmek için abortSignal. Bkz. https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Örnek

Okuma isteğini iptal etme

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

Özellik Değeri

AbortSignal

Devralındığı yer:SharedOptions.abortSignal

bypassIntegratedCache

Tümleşik önbelleğin Azure CosmosDB hizmetinde istek için atlanması veya etkinleştirilmesi gerekip gerekmediğini ayarlar.

Varsayılan değer false'tur. Varsayılan olarak tümleşik önbellek etkindir

bypassIntegratedCache?: boolean

Özellik Değeri

boolean

Devralındığı yer:SharedOptions.bypassIntegratedCache

consistencyLevel

İstemci tarafından istenen tutarlılık düzeyi.

consistencyLevel?: string

Özellik Değeri

string

Devralındığı yer:SharedOptions.consistencyLevel

disableRUPerMinuteUsage

DisableRUPerMinuteUsage, normal sağlanan RU'lar/saniye tükenirse isteğe hizmet vermek üzere İstek Birimleri (RU)/dakika kapasitesini etkinleştirmek/devre dışı bırakmak için kullanılır.

disableRUPerMinuteUsage?: boolean

Özellik Değeri

boolean

Devralındığı yer:SharedOptions.disableRUPerMinuteUsage

excludedLocations

İşlem için bir veya daha fazla Azure bölgesini dışlar.

Bu seçenek yalnızca enableEndPointDiscovery true olarak ayarlandığında uygulanır.

excludedLocations?: string[]

Özellik Değeri

string[]

SharedOptions.excludedLocations'dandevralınır

initialHeaders

(Gelişmiş kullanım örneği) Cosmos'a istek gönderirken ilk olarak başlanması gereken üst bilgiler

initialHeaders?: CosmosHeaders

Özellik Değeri

Devralındığı yer:SharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

Azure CosmosDB hizmetindeki istekle ilişkili eskime değerini ayarlar. <xref:com.azure.cosmos.ConsistencyLevel> <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> veya <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>istekler için, tümleşik önbellekten gelen yanıtların bu maxIntegratedCacheStaleness tarafından belirtilen değerden daha eski olmaması garanti edilir. Tutarlılık düzeyi ayarlanmadığında, bu özellik yoksayılır.

Varsayılan değer null

Önbellek Eskiliği milisaniye ayrıntı düzeyinde desteklenir. Milisaniyeden küçük her şey yoksayılır.

maxIntegratedCacheStalenessInMs?: number

Özellik Değeri

number

Devralındığı yer:SharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

Her istek için Öncelik Düzeyi (Düşük/Yüksek). Düşük öncelikli istekler, yüksek öncelikli isteklerden önce her zaman kısıtlanmıştır.

Varsayılan değer null'tır. Varsayılan olarak tüm istekler Yüksek önceliklidir

priorityLevel?: PriorityLevel

Özellik Değeri

Devralındığı yer:SharedOptions.priorityLevel

sessionToken

Belge kapsayıcısı okuma istekleri için belge kapsayıcısı kotası ile ilgili istatistikleri almayı etkinleştirir/devre dışı bırakır.

sessionToken?: string

Özellik Değeri

string

Devralındığı yer:SharedOptions.sessionToken

throughputBucket

Bir istek için Aktarım Hızı Kovası.

Varsayılan değer null'tır. Bu durumda, istek bölüm aktarım hızının% 100'ünü kullanabilir.

Daha fazla bilgi için [Cosmos DB aktarım hızı Demleme](https://aka.ms/cosmsodb-bucketing).
throughputBucket?: number

Özellik Değeri

number

Devralındığı yer:SharedOptions.throughputBucket