Bagikan melalui


FeedOptions interface

Opsi umpan dan metode kueri.

Memperluas

Properti

accessCondition

Kondisi yang Terkait dengan permintaan.

allowUnboundedNonStreamingQueries

Hanya berlaku untuk urutan non streaming menurut kueri. Default: false; Ketika diatur ke true, kueri memungkinkan untuk melewati perilaku default yang memblokir kueri nonStreaming tanpa klausa atas atau batas.

bufferItems

Aktifkan buffering item tambahan selama kueri. Default: tidak benar

Ini akan menyangga halaman tambahan pada satu waktu (dikalikan dengan maxDegreeOfParallelism) dari server di latar belakang. Ini meningkatkan latensi dengan mengambil halaman sebelum diperlukan oleh klien. Jika Anda menguras semua hasil dari server, seperti .fetchAll, Anda biasanya harus mengaktifkan ini. Jika Anda hanya mengambil satu halaman pada satu waktu melalui token kelanjutan, Anda harus menghindari hal ini. Jika Anda menguras lebih dari satu halaman, tetapi bukan seluruh tataan hasil, ini dapat membantu meningkatkan latensi, tetapi akan meningkatkan jumlah total penggunaan RU untuk melayani seluruh kueri (karena beberapa halaman akan diambil lebih dari sekali).

continuation

Token buram untuk melanjutkan enumerasi. Default: tidak ditentukan

continuationToken

Token buram untuk melanjutkan enumerasi. Default: tidak ditentukan

continuationTokenLimitInKB

Membatasi ukuran token kelanjutan dalam respons. Default: tidak ditentukan

Token Kelanjutan berisi data opsional yang dapat dihapus dari serialisasi sebelum menulisnya ke header. Secara default, kami membatasi ini hingga 1kb untuk menghindari header panjang (Node.js memiliki batas ukuran header global). Pengguna dapat mengatur bidang ini untuk memungkinkan header yang lebih panjang, yang dapat membantu backend mengoptimalkan eksekusi kueri."

disableHybridSearchQueryPlanOptimization

Nilai awal: false. Jika diatur ke true, ini akan menonaktifkan pengoptimalan rencana kueri pencarian hibrid. Pengoptimalan ini diaktifkan secara default dan digunakan untuk meningkatkan performa kueri pencarian hibrid.

disableNonStreamingOrderByQuery

Nonaktifkan fitur kueri nonStreamingOrderBy di fitur kueri yang didukung. Nilai awal: false. Atur ke true untuk menghindari kesalahan dari gateway lama yang tidak mendukung fitur ini.

enableQueryControl

Mengontrol perilaku eksekusi kueri. Nilai awal: false. Jika diatur ke false, kueri akan mencoba lagi hingga hasilnya siap dan maxItemCount tercapai, yang dapat memakan waktu untuk partisi besar dengan data yang relatif kecil. Jika diatur ke true, memindai partisi hingga maxDegreeOfParallelism, menambahkan hasil ke buffer, dan mengembalikan apa yang tersedia. Jika hasil belum siap, itu akan mengembalikan respons kosong.

enableScanInQuery

Izinkan pemindaian pada kueri yang tidak dapat dilayani karena pengindeksan ditolak pada jalur yang diminta. Default: tidak benar

Secara umum, yang terbaik adalah menghindari penggunaan pengaturan ini. Pemindaian relatif mahal dan membutuhkan waktu lama untuk dilayani.

forceQueryPlan

Pengaturan ini memaksa kueri untuk menggunakan rencana kueri. Default: tidak benar

Catatan: ini akan menonaktifkan dukungan token kelanjutan, bahkan untuk kueri partisi tunggal.

Untuk kueri seperti agregat dan sebagian besar kueri lintas partisi, ini tetap terjadi. Namun, karena pustaka tidak tahu jenis kueri apa itu sampai kita mendapatkan kembali respons pertama, beberapa pengoptimalan tidak dapat terjadi sampai nanti.

Jika pengaturan ini diaktifkan, pengaturan ini akan memaksa rencana kueri untuk kueri, yang akan menyimpan beberapa permintaan jaringan dan memastikan paralelisme dapat terjadi. Berguna ketika Anda tahu bahwa Anda melakukan kueri lintas partisi atau agregat.

maxDegreeOfParallelism

Jumlah maksimum operasi bersamaan yang menjalankan sisi klien selama eksekusi kueri paralel di layanan database Azure Cosmos DB. Nilai negatif membuat sistem secara otomatis memutuskan jumlah operasi bersamaan yang akan dijalankan. Default: 0 (tidak ada paralelisme)

maxItemCount

Jumlah maksimum item yang akan dikembalikan dalam operasi enumerasi. Default: tidak terdefinisi (server akan menentukan payload)

Expirimenting dengan nilai ini biasanya dapat mengakibatkan perubahan performa terbesar pada kueri.

Semakin kecil jumlah item, semakin cepat hasil pertama akan dikirimkan (untuk non-agregat). Untuk jumlah yang lebih besar, akan memakan waktu lebih lama untuk melayani permintaan, tetapi Anda biasanya akan mendapatkan throughput yang lebih baik untuk kueri besar (yaitu jika Anda membutuhkan 1000 item sebelum Anda dapat melakukan tindakan lain, atur maxItemCount ke 1000. Jika Anda dapat mulai melakukan pekerjaan setelah 100 pertama, atur maxItemCount ke 100.)

partitionKey

Membatasi kueri ke kunci partisi tertentu. Default: tidak ditentukan

Cakupan kueri ke satu partisi dapat dicapai dengan dua cara:

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

Yang pertama berguna saat isi kueri berada di luar kontrol Anda tetapi Anda masih ingin membatasinya ke satu partisi. Contoh: kueri yang ditentukan pengguna akhir.

populateIndexMetrics

Aktifkan metrik indeks yang dikembalikan dalam header respons. Default: tidak benar

populateQueryMetrics

Aktifkan metrik kueri yang dikembalikan di header respons. Default: tidak benar

Digunakan untuk men-debug kueri lambat atau mahal. Juga meningkatkan ukuran respons dan jika Anda menggunakan ukuran header maks rendah di Node.js, Anda dapat mengalami masalah lebih cepat.

useIncrementalFeed

Catatan: pertimbangkan untuk menggunakan changeFeed sebagai gantinya.

Menunjukkan permintaan umpan perubahan. Harus diatur ke "Umpan inkremental", atau dihilangkan sebaliknya. Default: tidak benar

vectorSearchBufferSize

Menentukan ukuran buffer maksimum kustom untuk menyimpan hasil akhir untuk kueri nonStreamingOrderBy. Nilai ini diabaikan jika kueri menyertakan klausul top/offset+limit.

Properti yang Diwariskan

abortSignal

abortSignal untuk meneruskan ke semua permintaan jaringan yang mendasar yang dibuat oleh panggilan metode ini. Lihat https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Contoh

Membatalkan permintaan baca

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

Mengatur apakah cache terintegrasi harus dilewati atau diaktifkan untuk permintaan di layanan Azure CosmosDB.

Nilai defaultnya adalah false. Secara default, cache terintegrasi diaktifkan

consistencyLevel

Tingkat konsistensi yang diperlukan oleh klien.

disableRUPerMinuteUsage

DisableRUPerMinuteUsage digunakan untuk mengaktifkan/menonaktifkan kapasitas Unit Permintaan(RU)/menit untuk melayani permintaan jika RU/detik yang disediakan reguler habis.

excludedLocations

Tidak termasuk satu atau beberapa wilayah Azure untuk operasi.

Opsi ini hanya diterapkan ketika enableEndPointDiscovery diatur ke true.

initialHeaders

(Kasus penggunaan tingkat lanjut) Header awal untuk memulai saat mengirim permintaan ke Cosmos

maxIntegratedCacheStalenessInMs

Mengatur nilai keusangan yang terkait dengan permintaan dalam layanan Azure CosmosDB. Untuk permintaan di mana <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> atau <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, respons dari cache terintegrasi dijamin tidak lebih dari nilai yang ditunjukkan oleh maxIntegratedCacheStaleness ini. Ketika tingkat konsistensi tidak diatur, properti ini diabaikan.

Nilai default adalah null

Cache Staleness didukung dalam granularitas milidetik. Apa pun yang lebih kecil dari milidetik akan diabaikan.

priorityLevel

Tingkat Prioritas (Rendah/Tinggi) untuk setiap permintaan. Permintaan berprioritas rendah selalu dibatasi sebelum permintaan prioritas tinggi.

Nilai default adalah null. Secara default semua permintaan berprioritas tinggi

sessionToken

Mengaktifkan/menonaktifkan mendapatkan statistik terkait kuota kontainer dokumen untuk permintaan baca kontainer dokumen.

throughputBucket

Bucket Throughput untuk permintaan.

Nilai default adalah null. Dalam hal ini, permintaan dapat menggunakan 100% throughput partisi.

Untuk informasi selengkapnya, kunjungi [Bucketing throughput Cosmos DB](https://aka.ms/cosmsodb-bucketing).

Detail Properti

accessCondition

Kondisi yang Terkait dengan permintaan.

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

Nilai Properti

{ condition: string, type: string }

allowUnboundedNonStreamingQueries

Hanya berlaku untuk urutan non streaming menurut kueri. Default: false; Ketika diatur ke true, kueri memungkinkan untuk melewati perilaku default yang memblokir kueri nonStreaming tanpa klausa atas atau batas.

allowUnboundedNonStreamingQueries?: boolean

Nilai Properti

boolean

bufferItems

Aktifkan buffering item tambahan selama kueri. Default: tidak benar

Ini akan menyangga halaman tambahan pada satu waktu (dikalikan dengan maxDegreeOfParallelism) dari server di latar belakang. Ini meningkatkan latensi dengan mengambil halaman sebelum diperlukan oleh klien. Jika Anda menguras semua hasil dari server, seperti .fetchAll, Anda biasanya harus mengaktifkan ini. Jika Anda hanya mengambil satu halaman pada satu waktu melalui token kelanjutan, Anda harus menghindari hal ini. Jika Anda menguras lebih dari satu halaman, tetapi bukan seluruh tataan hasil, ini dapat membantu meningkatkan latensi, tetapi akan meningkatkan jumlah total penggunaan RU untuk melayani seluruh kueri (karena beberapa halaman akan diambil lebih dari sekali).

bufferItems?: boolean

Nilai Properti

boolean

continuation

Peringatan

API ini sudah tidak digunakan lagi.

Use continuationToken instead.

Token buram untuk melanjutkan enumerasi. Default: tidak ditentukan

continuation?: string

Nilai Properti

string

continuationToken

Token buram untuk melanjutkan enumerasi. Default: tidak ditentukan

continuationToken?: string

Nilai Properti

string

continuationTokenLimitInKB

Membatasi ukuran token kelanjutan dalam respons. Default: tidak ditentukan

Token Kelanjutan berisi data opsional yang dapat dihapus dari serialisasi sebelum menulisnya ke header. Secara default, kami membatasi ini hingga 1kb untuk menghindari header panjang (Node.js memiliki batas ukuran header global). Pengguna dapat mengatur bidang ini untuk memungkinkan header yang lebih panjang, yang dapat membantu backend mengoptimalkan eksekusi kueri."

continuationTokenLimitInKB?: number

Nilai Properti

number

disableHybridSearchQueryPlanOptimization

Nilai awal: false. Jika diatur ke true, ini akan menonaktifkan pengoptimalan rencana kueri pencarian hibrid. Pengoptimalan ini diaktifkan secara default dan digunakan untuk meningkatkan performa kueri pencarian hibrid.

disableHybridSearchQueryPlanOptimization?: boolean

Nilai Properti

boolean

disableNonStreamingOrderByQuery

Nonaktifkan fitur kueri nonStreamingOrderBy di fitur kueri yang didukung. Nilai awal: false. Atur ke true untuk menghindari kesalahan dari gateway lama yang tidak mendukung fitur ini.

disableNonStreamingOrderByQuery?: boolean

Nilai Properti

boolean

enableQueryControl

Mengontrol perilaku eksekusi kueri. Nilai awal: false. Jika diatur ke false, kueri akan mencoba lagi hingga hasilnya siap dan maxItemCount tercapai, yang dapat memakan waktu untuk partisi besar dengan data yang relatif kecil. Jika diatur ke true, memindai partisi hingga maxDegreeOfParallelism, menambahkan hasil ke buffer, dan mengembalikan apa yang tersedia. Jika hasil belum siap, itu akan mengembalikan respons kosong.

enableQueryControl?: boolean

Nilai Properti

boolean

enableScanInQuery

Izinkan pemindaian pada kueri yang tidak dapat dilayani karena pengindeksan ditolak pada jalur yang diminta. Default: tidak benar

Secara umum, yang terbaik adalah menghindari penggunaan pengaturan ini. Pemindaian relatif mahal dan membutuhkan waktu lama untuk dilayani.

enableScanInQuery?: boolean

Nilai Properti

boolean

forceQueryPlan

Pengaturan ini memaksa kueri untuk menggunakan rencana kueri. Default: tidak benar

Catatan: ini akan menonaktifkan dukungan token kelanjutan, bahkan untuk kueri partisi tunggal.

Untuk kueri seperti agregat dan sebagian besar kueri lintas partisi, ini tetap terjadi. Namun, karena pustaka tidak tahu jenis kueri apa itu sampai kita mendapatkan kembali respons pertama, beberapa pengoptimalan tidak dapat terjadi sampai nanti.

Jika pengaturan ini diaktifkan, pengaturan ini akan memaksa rencana kueri untuk kueri, yang akan menyimpan beberapa permintaan jaringan dan memastikan paralelisme dapat terjadi. Berguna ketika Anda tahu bahwa Anda melakukan kueri lintas partisi atau agregat.

forceQueryPlan?: boolean

Nilai Properti

boolean

maxDegreeOfParallelism

Jumlah maksimum operasi bersamaan yang menjalankan sisi klien selama eksekusi kueri paralel di layanan database Azure Cosmos DB. Nilai negatif membuat sistem secara otomatis memutuskan jumlah operasi bersamaan yang akan dijalankan. Default: 0 (tidak ada paralelisme)

maxDegreeOfParallelism?: number

Nilai Properti

number

maxItemCount

Jumlah maksimum item yang akan dikembalikan dalam operasi enumerasi. Default: tidak terdefinisi (server akan menentukan payload)

Expirimenting dengan nilai ini biasanya dapat mengakibatkan perubahan performa terbesar pada kueri.

Semakin kecil jumlah item, semakin cepat hasil pertama akan dikirimkan (untuk non-agregat). Untuk jumlah yang lebih besar, akan memakan waktu lebih lama untuk melayani permintaan, tetapi Anda biasanya akan mendapatkan throughput yang lebih baik untuk kueri besar (yaitu jika Anda membutuhkan 1000 item sebelum Anda dapat melakukan tindakan lain, atur maxItemCount ke 1000. Jika Anda dapat mulai melakukan pekerjaan setelah 100 pertama, atur maxItemCount ke 100.)

maxItemCount?: number

Nilai Properti

number

partitionKey

Membatasi kueri ke kunci partisi tertentu. Default: tidak ditentukan

Cakupan kueri ke satu partisi dapat dicapai dengan dua cara:

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

Yang pertama berguna saat isi kueri berada di luar kontrol Anda tetapi Anda masih ingin membatasinya ke satu partisi. Contoh: kueri yang ditentukan pengguna akhir.

partitionKey?: PartitionKey

Nilai Properti

populateIndexMetrics

Aktifkan metrik indeks yang dikembalikan dalam header respons. Default: tidak benar

populateIndexMetrics?: boolean

Nilai Properti

boolean

populateQueryMetrics

Aktifkan metrik kueri yang dikembalikan di header respons. Default: tidak benar

Digunakan untuk men-debug kueri lambat atau mahal. Juga meningkatkan ukuran respons dan jika Anda menggunakan ukuran header maks rendah di Node.js, Anda dapat mengalami masalah lebih cepat.

populateQueryMetrics?: boolean

Nilai Properti

boolean

useIncrementalFeed

Catatan: pertimbangkan untuk menggunakan changeFeed sebagai gantinya.

Menunjukkan permintaan umpan perubahan. Harus diatur ke "Umpan inkremental", atau dihilangkan sebaliknya. Default: tidak benar

useIncrementalFeed?: boolean

Nilai Properti

boolean

vectorSearchBufferSize

Menentukan ukuran buffer maksimum kustom untuk menyimpan hasil akhir untuk kueri nonStreamingOrderBy. Nilai ini diabaikan jika kueri menyertakan klausul top/offset+limit.

vectorSearchBufferSize?: number

Nilai Properti

number

Detail Properti yang Diwariskan

abortSignal

abortSignal untuk meneruskan ke semua permintaan jaringan yang mendasar yang dibuat oleh panggilan metode ini. Lihat https://developer.mozilla.org/en-US/docs/Web/API/AbortController

Contoh

Membatalkan permintaan baca

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

Nilai Properti

AbortSignal

Diwariskan DariSharedOptions.abortSignal

bypassIntegratedCache

Mengatur apakah cache terintegrasi harus dilewati atau diaktifkan untuk permintaan di layanan Azure CosmosDB.

Nilai defaultnya adalah false. Secara default, cache terintegrasi diaktifkan

bypassIntegratedCache?: boolean

Nilai Properti

boolean

Diwariskan DariSharedOptions.bypassIntegratedCache

consistencyLevel

Tingkat konsistensi yang diperlukan oleh klien.

consistencyLevel?: string

Nilai Properti

string

Diwarisi dariSharedOptions.consistencyLevel

disableRUPerMinuteUsage

DisableRUPerMinuteUsage digunakan untuk mengaktifkan/menonaktifkan kapasitas Unit Permintaan(RU)/menit untuk melayani permintaan jika RU/detik yang disediakan reguler habis.

disableRUPerMinuteUsage?: boolean

Nilai Properti

boolean

Diwarisi dariSharedOptions.disableRUPerMinuteUsage

excludedLocations

Tidak termasuk satu atau beberapa wilayah Azure untuk operasi.

Opsi ini hanya diterapkan ketika enableEndPointDiscovery diatur ke true.

excludedLocations?: string[]

Nilai Properti

string[]

Diwarisi dariSharedOptions.excludedLocations

initialHeaders

(Kasus penggunaan tingkat lanjut) Header awal untuk memulai saat mengirim permintaan ke Cosmos

initialHeaders?: CosmosHeaders

Nilai Properti

Diwariskan DariSharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

Mengatur nilai keusangan yang terkait dengan permintaan dalam layanan Azure CosmosDB. Untuk permintaan di mana <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> atau <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, respons dari cache terintegrasi dijamin tidak lebih dari nilai yang ditunjukkan oleh maxIntegratedCacheStaleness ini. Ketika tingkat konsistensi tidak diatur, properti ini diabaikan.

Nilai default adalah null

Cache Staleness didukung dalam granularitas milidetik. Apa pun yang lebih kecil dari milidetik akan diabaikan.

maxIntegratedCacheStalenessInMs?: number

Nilai Properti

number

Diwarisi DariSharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

Tingkat Prioritas (Rendah/Tinggi) untuk setiap permintaan. Permintaan berprioritas rendah selalu dibatasi sebelum permintaan prioritas tinggi.

Nilai default adalah null. Secara default semua permintaan berprioritas tinggi

priorityLevel?: PriorityLevel

Nilai Properti

Diwariskan DariSharedOptions.priorityLevel

sessionToken

Mengaktifkan/menonaktifkan mendapatkan statistik terkait kuota kontainer dokumen untuk permintaan baca kontainer dokumen.

sessionToken?: string

Nilai Properti

string

Diwariskan DariSharedOptions.sessionToken

throughputBucket

Bucket Throughput untuk permintaan.

Nilai default adalah null. Dalam hal ini, permintaan dapat menggunakan 100% throughput partisi.

Untuk informasi selengkapnya, kunjungi [Bucketing throughput Cosmos DB](https://aka.ms/cosmsodb-bucketing).
throughputBucket?: number

Nilai Properti

number

Diwarisi dariSharedOptions.throughputBucket