Bagikan melalui


Mengubah mode umpan di Azure Cosmos DB

BERLAKU UNTUK: NoSQL

Azure Cosmos DB menawarkan dua mode umpan perubahan. Setiap mode menawarkan fungsionalitas inti yang sama. Perbedaan termasuk operasi yang diambil dalam umpan, metadata yang tersedia untuk setiap perubahan, dan periode retensi perubahan. Anda dapat menggunakan umpan perubahan dalam mode yang berbeda di beberapa aplikasi untuk kontainer Azure Cosmos DB yang sama agar sesuai dengan persyaratan setiap beban kerja. Setiap aplikasi umpan perubahan individu hanya dapat dikonfigurasi untuk membaca umpan perubahan dalam satu mode. Mengonsumsi umpan perubahan dalam satu mode tidak melarang Anda mengonsumsi umpan perubahan dalam mode lain dalam aplikasi yang berbeda.

Catatan

Apakah Anda memiliki umpan balik tentang mode umpan perubahan? Kami ingin mendengar pendapat Anda! Jangan ragu untuk berbagi umpan balik langsung dengan tim teknik Azure Cosmos DB: cosmoschangefeed@microsoft.com.

Mode umpan perubahan versi terbaru

Mode versi terbaru adalah catatan perubahan persisten yang dilakukan pada item dari pembuatan dan pembaruan. Anda mendapatkan versi terbaru dari setiap item dalam kontainer. Misalnya, jika item dibuat lalu diperbarui sebelum Anda membaca umpan perubahan, hanya versi yang diperbarui yang muncul di umpan perubahan. Penghapusan tidak diambil sebagai perubahan, dan ketika item dihapus, item tidak lagi tersedia di umpan. Mode umpan perubahan versi terbaru diaktifkan secara default dan kompatibel dengan semua akun Azure Cosmos DB kecuali API untuk Tabel dan API untuk PostgreSQL. Mode ini sebelumnya adalah cara default untuk menggunakan umpan perubahan.

Semua versi dan penghapusan mengubah mode umpan (pratinjau)

Semua versi dan mode penghapusan (pratinjau) adalah rekaman persisten dari semua perubahan pada item dari operasi buat, perbarui, dan hapus. Anda mendapatkan catatan setiap perubahan pada item dalam urutan terjadinya, termasuk perubahan perantara pada item di antara pembacaan umpan perubahan. Misalnya, jika item dibuat lalu diperbarui sebelum Anda membaca umpan perubahan, baik versi buat maupun pembaruan item muncul di umpan perubahan. Untuk membaca dari umpan perubahan di semua versi dan mode penghapusan, Anda harus memiliki cadangan berkelanjutan yang dikonfigurasi untuk akun Azure Cosmos DB Anda. Mengaktifkan pencadangan berkelanjutan membuat semua versi dan menghapus umpan perubahan. Anda hanya dapat membaca perubahan yang terjadi dalam periode pencadangan berkelanjutan saat menggunakan mode umpan perubahan ini. Mode ini hanya kompatibel dengan Azure Cosmos DB untuk akun NoSQL. Pelajari selengkapnya tentang cara mendaftar untuk pratinjau.

Mengubah kasus penggunaan umpan

Mode versi terbaru menyediakan cara mudah untuk memproses perubahan real time dan historis pada item dalam kontainer dengan kemampuan untuk kembali ke perubahan dari awal kontainer.

Berikut ini adalah skenario yang cocok untuk mode ini:

  • Migrasi seluruh kontainer ke lokasi sekunder.

  • Kemampuan untuk memproses ulang perubahan dari awal kontainer.

  • Pemrosesan perubahan real time pada item dalam kontainer yang dihasilkan dari operasi buat dan perbarui.

  • Beban kerja yang tidak perlu mengambil penghapusan atau perubahan menengah antar bacaan.

Fitur dari setiap mode

Selain fitur umum di semua mode umpan perubahan, setiap mode umpan perubahan memiliki karakteristik berikut:

  • Umpan perubahan mencakup operasi sisipkan dan perbarui yang dibuat ke item dalam kontainer.

  • Mode umpan perubahan ini tidak menghapus log. Anda dapat mengambil penghapusan dengan mengatur bendera "penghapusan sementara" dalam item Anda alih-alih menghapusnya secara langsung. Misalnya, Anda dapat menambahkan atribut dalam item yang disebut deleted dengan nilai true, lalu mengatur Time to Live (TTL) pada item. Umpan perubahan menangkapnya sebagai pembaruan dan item dihapus secara otomatis saat TTL kedaluwarsa. Atau, Anda dapat mengatur periode kedaluwarsa terbatas untuk item Anda dengan menggunakan kemampuan TTL. Dengan solusi ini, Anda harus memproses perubahan dalam interval waktu yang lebih singkat daripada periode kedaluwarsa TTL.

  • Hanya perubahan terbaru untuk item tertentu yang disertakan dalam umpan perubahan. Perubahan menengah mungkin tidak tersedia.

  • Saat item dihapus, item tidak lagi tersedia di umpan perubahan.

  • Perubahan dapat disinkronkan dari titik waktu mana pun, dan tidak ada periode retensi data tetap yang perubahannya tersedia.

  • Anda tidak dapat memfilter umpan perubahan untuk jenis operasi tertentu. Salah satu alternatif yang mungkin, adalah menambahkan "penanda lunak" pada item untuk pembaruan dan filter berdasarkan penanda saat Anda memproses item di umpan perubahan.

  • Titik awal untuk membaca umpan perubahan dapat dari awal kontainer, dari titik waktu tertentu, dari "sekarang," atau dari titik pemeriksaan tertentu. Presisi waktu mulai adalah sekitar lima detik.

Bekerja dengan umpan perubahan

Setiap mode kompatibel dengan metode yang berbeda untuk membaca umpan perubahan untuk setiap bahasa.

Anda dapat menggunakan cara berikut untuk menggunakan perubahan dari umpan perubahan dalam mode versi terbaru:

Metode untuk membaca umpan perubahan .NET Java Python Node.js
Model penarikan umpan perubahan Ya Ya Ya Ya
Mengubah prosesor umpan Ya Ya No Tidak
Pemicu Azure Functions Ya Ya Ya Ya

Mengurai objek respons

Dalam mode versi terbaru, objek respons default adalah array item yang telah berubah. Setiap item berisi metadata standar untuk item Azure Cosmos DB apa pun, termasuk _etag dan _ts, dengan penambahan properti baru, _lsn.

Formatnya _etag internal dan Anda tidak boleh mengambil dependensi karena dapat berubah kapan saja. _ts adalah modifikasi atau stempel waktu pembuatan. Anda dapat menggunakan _ts untuk perbandingan kronologis. _lsn adalah ID batch yang ditambahkan untuk umpan perubahan saja yang mewakili ID transaksi. Banyak item dapat memiliki hal yang sama _lsn.

ETag aktif FeedResponse berbeda dari yang _etag Anda lihat pada item. _etag adalah pengidentifikasi internal, dan digunakan untuk kontrol konkurensi. Properti _etag mewakili versi item, sedangkan ETag properti digunakan untuk mengurutkan umpan.

Langkah berikutnya

Pelajari selengkapnya tentang umpan perubahan di artikel berikut ini: