FeedOptions interface

Opsi umpan dan metode kueri.

Extends

Properti

accessCondition

Kondisi yang Terkait dengan permintaan.

bufferItems

Aktifkan buffering item tambahan selama kueri. Default: false

Ini akan buffer 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 terdefinis

continuationToken

Token buram untuk melanjutkan enumerasi. Default: tidak terdefinis

continuationTokenLimitInKB

Membatasi ukuran token kelanjutan dalam respons. Default: tidak terdefinis

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

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

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 partisi silang, ini tetap terjadi. Namun, karena pustaka tidak tahu jenis kueri 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 dalam layanan database Azure Cosmos DB. Nilai negatif membuat sistem secara otomatis memutuskan jumlah operasi bersamaan yang akan dijalankan. Default: 0 (tanpa 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 terdefinis

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 ketika isi kueri berada di luar kontrol Anda tetapi Anda masih ingin membatasinya ke satu partisi. Contoh: kueri yang ditentukan pengguna akhir.

populateIndexMetrics

Aktifkan mengembalikan metrik indeks di 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 dalam 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

Properti yang Diwariskan

abortSignal

abortSignal untuk meneruskan ke semua permintaan jaringan dasar 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()
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> adalah <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> atau <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, respons dari cache terintegrasi dijamin tidak akan ada staler daripada 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 memiliki prioritas 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 }

bufferItems

Aktifkan buffering item tambahan selama kueri. Default: false

Ini akan buffer 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 terdefinis

continuation?: string

Nilai Properti

string

continuationToken

Token buram untuk melanjutkan enumerasi. Default: tidak terdefinis

continuationToken?: string

Nilai Properti

string

continuationTokenLimitInKB

Membatasi ukuran token kelanjutan dalam respons. Default: tidak terdefinis

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

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

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 partisi silang, ini tetap terjadi. Namun, karena pustaka tidak tahu jenis kueri 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 dalam layanan database Azure Cosmos DB. Nilai negatif membuat sistem secara otomatis memutuskan jumlah operasi bersamaan yang akan dijalankan. Default: 0 (tanpa 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 terdefinis

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 ketika 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 mengembalikan metrik indeks di 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 dalam 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

Detail Properti yang Diwariskan

abortSignal

abortSignal untuk meneruskan ke semua permintaan jaringan dasar 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

Diwarisi DariSharedOptions.abortSignal

initialHeaders

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

initialHeaders?: CosmosHeaders

Nilai Properti

Diwarisi DariSharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

Mengatur nilai keusangan yang terkait dengan permintaan dalam layanan Azure CosmosDB. Untuk permintaan di mana <xref:com.azure.cosmos.ConsistencyLevel> adalah <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> atau <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, respons dari cache terintegrasi dijamin tidak akan ada staler daripada 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 memiliki prioritas tinggi

priorityLevel?: PriorityLevel

Nilai Properti

Diwarisi DariSharedOptions.priorityLevel

sessionToken

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

sessionToken?: string

Nilai Properti

string

Diwarisi DariSharedOptions.sessionToken