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: false

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."

disableNonStreamingOrderByQuery

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

enableScanInQuery

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

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: false

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: false

populateQueryMetrics

Aktifkan metrik kueri yang dikembalikan di header respons. Default: false

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: false

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

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

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

Nilai defaultnya adalah false. Secara default, cache terintegrasi diaktifkan

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.

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: false

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

disableNonStreamingOrderByQuery

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

disableNonStreamingOrderByQuery?: boolean

Nilai Properti

boolean

enableScanInQuery

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

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: false

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: false

populateIndexMetrics?: boolean

Nilai Properti

boolean

populateQueryMetrics

Aktifkan metrik kueri yang dikembalikan di header respons. Default: false

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: false

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

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

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