Aracılığıyla paylaş


FeedOptions interface

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

Extends

Özellikler

accessCondition

İstekle ilişkili koşullar.

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 gerekli hale gelmeden önce sayfaları getirerek gecikme süresini artırır. gibi .fetchAlltüm sonuçları sunucudan boşaltıyorsanız, bunu genellikle etkinleştirmeniz gerekir. Devamlılık belirteci aracılığıyla bir kerede 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ırmanıza yardımcı olabilir, ancak sorgunun tamamına hizmet vermek için toplam RU/sn kullanım miktarını artırır (bazı sayfalar birden çok kez getirileceğinden).

continuation

Sabit listesi devam etmesi için opak belirteç. Varsayılan: tanımsız

continuationToken

Sabit listesi devam etmesi 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 bilgi yazmadan önce serileştirmeden kaldırılabilir isteğe bağlı veriler içerir. Varsayılan olarak, uzun üst bilgileri önlemek için bunu 1 kb'ye tıklıyoruz (Node.js genel üst bilgi 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."

enableScanInQuery

Dizin oluşturma istenen yollarda devre dışı bırakıldı olarak hizmet veremeyen sorgularda taramaya izin ver. Varsayılan: false

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

forceQueryPlan

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

Not: Bu, 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, ilk yanıtı geri alıncaya kadar kitaplığın ne tür bir sorgu olduğunu bilmediğinden, bazı iyileştirmeler daha sonra 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 durumlarda 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 edilecek (toplama olmayanlar için). Daha büyük miktarlarda isteğe hizmet vermek daha uzun sürer, ancak genellikle büyük sorgular için daha iyi aktarım hızı elde edersiniz (başka bir işlem yapmadan önce 1000 öğeye ihtiyacınız varsa, 1000 olarak ayarlanır maxItemCount ). İlk 100'den sonra iş yapmaya başlayabilirseniz 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 yolla 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'de en yüksek üst bilgi boyutunun düşük olduğunu 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

Devralınan Özellikler

abortSignal

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

Örnek

Okuma isteğini iptal etme

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

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

maxIntegratedCacheStalenessInMs

Azure CosmosDB hizmetindeki istekle ilişkili eskime değerini ayarlar. veya <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>olduğu <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> 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 Eskime Durumu 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'dı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.

Özellik Ayrıntıları

accessCondition

İstekle ilişkili koşullar.

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

Özellik Değeri

{ condition: string, type: string }

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 gerekli hale gelmeden önce sayfaları getirerek gecikme süresini artırır. gibi .fetchAlltüm sonuçları sunucudan boşaltıyorsanız, bunu genellikle etkinleştirmeniz gerekir. Devamlılık belirteci aracılığıyla bir kerede 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ırmanıza yardımcı olabilir, ancak sorgunun tamamına hizmet vermek için toplam RU/sn kullanım miktarı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.

Sabit listesi devam etmesi için opak belirteç. Varsayılan: tanımsız

continuation?: string

Özellik Değeri

string

continuationToken

Sabit listesi devam etmesi 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 bilgi yazmadan önce serileştirmeden kaldırılabilir isteğe bağlı veriler içerir. Varsayılan olarak, uzun üst bilgileri önlemek için bunu 1 kb'ye tıklıyoruz (Node.js genel üst bilgi 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

enableScanInQuery

Dizin oluşturma istenen yollarda devre dışı bırakıldı olarak hizmet veremeyen sorgularda taramaya izin ver. Varsayılan: false

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

enableScanInQuery?: boolean

Özellik Değeri

boolean

forceQueryPlan

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

Not: Bu, 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, ilk yanıtı geri alıncaya kadar kitaplığın ne tür bir sorgu olduğunu bilmediğinden, bazı iyileştirmeler daha sonra 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 durumlarda 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 edilecek (toplama olmayanlar için). Daha büyük miktarlarda isteğe hizmet vermek daha uzun sürer, ancak genellikle büyük sorgular için daha iyi aktarım hızı elde edersiniz (başka bir işlem yapmadan önce 1000 öğeye ihtiyacınız varsa, 1000 olarak ayarlanır maxItemCount ). İlk 100'den sonra iş yapmaya başlayabilirseniz 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 yolla 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'de en yüksek üst bilgi boyutunun düşük olduğunu 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

Devralınan Özellik Detayları

abortSignal

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

Örnek

Okuma isteğini iptal etme

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

Özellik Değeri

AbortSignal

SharedOptions.abortSignal'danDevralındı

initialHeaders

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

initialHeaders?: CosmosHeaders

Özellik Değeri

SharedOptions.initialHeaders'danDevralındı

maxIntegratedCacheStalenessInMs

Azure CosmosDB hizmetindeki istekle ilişkili eskime değerini ayarlar. veya <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>olduğu <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> 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 Eskime Durumu milisaniye ayrıntı düzeyinde desteklenir. Milisaniyeden küçük her şey yoksayılır.

maxIntegratedCacheStalenessInMs?: number

Özellik Değeri

number

SharedOptions.maxIntegratedCacheStalenessInMs'denDevralındı

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'dır. Varsayılan olarak tüm istekler Yüksek önceliklidir

priorityLevel?: PriorityLevel

Özellik Değeri

SharedOptions.priorityLevel'denDevralındı

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

SharedOptions.sessionToken'danDevralındı