Azure Cosmos DB untuk NoSQL Java SDK (warisan): Catatan rilis dan sumber daya
BERLAKU UNTUK: NoSQL
Artikel ini membahas Azure Cosmos DB Sync Java SDK v2 untuk API untuk NoSQL. API ini hanya mendukung operasi sinkron.
Penting
Ini bukan Java SDK terbaru untuk Azure Cosmos DB! Sebaiknya gunakan Azure Cosmos DB Java SDK v4 untuk proyek Anda. Untuk meningkatkan versi, ikuti petunjuknya dalam panduan Migrasi ke Azure Cosmos DB Java SDK v4 dan panduan Reactor vs RxJava.
Peringatan
Mulai 29 Februari 2024 Azure Cosmos DB Sync Java SDK v2.x sekarang dihentikan. Azure Cosmos DB tidak lagi menyediakan pemeliharaan atau dukungan untuk SDK ini setelah pensiun. Ikuti instruksi di sini untuk bermigrasi ke Azure Cosmos DB Java SDK v4.
Tautan | |
---|---|
Unduhan SDK | Maven |
Dokumentasi API | Dokumentasi referensi Java API |
Kontribusi pada SDK | GitHub |
Mulai | Mulai menggunakan Java SDK |
Tutorial aplikasi web | Pengembangan aplikasi web dengan Microsoft Azure Cosmos DB |
Waktu proses minimum yang didukung | Java Development Kit (JDK) 7+ |
Catatan rilis
Berikut adalah catatan rilis untuk setiap versi SDK.
2.6.5
- Menghapus dependensi
com.google.guava/guava
pengujian karena kerentanan keamanan - Peningkatan dependensi
com.fasterxml.jackson.core/jackson-databind
ke 2.14.0 - Dependensi
commons-codec/commons-codec
yang ditingkatkan ke 1.15 - Meningkatkan dependensi
org.json/json
ke 20180130
2.6.4
- Memperbaiki kebijakan coba lagi untuk batas waktu baca
2.6.3
- Perbaiki kebijakan percobaan kembali ketika
GoneException
dibungkus dalamIllegalStateException
- - perubahan ini diperlukan untuk memastikan cache Gateway di-refresh pada 410 sehingga konektor Spark (untuk Spark 2.4) dapat menggunakan kebijakan percobaan kembali kustom untuk memungkinkan kueri berhasil selama pemisahan partisi
2.6.2
- Menambahkan kebijakan percobaan kembali baru untuk mencoba kembali Batas Waktu Baca
- Peningkatan ketergantungan
com.fasterxml.jackson.core/jackson-databind
ke 2.9.10.8 - Peningkatan ketergantungan
org.apache.httpcomponents/httpclient
ke 4.5.13
2.6.1
- Memperbaiki bug dalam menangani kueri melalui interop layanan.
2.6.0
- Menambahkan dukungan untuk pengajuan kueri umpan dari titik waktu.
2.5.1
- Memperbaiki masalah cache partisi primer pada kueri documentCollection.
2.5.0
- Menambahkan dukungan konfigurasi kustom coba lagi 449.
2.4.7
- Memperbaiki masalah waktu habis kumpulan koneksi.
- Memperbaiki penyegaran token autentikasi pada coba lagi internal.
2.4.6
- Memperbarui tag kebijakan replika sisi klien yang benar pada databaseAccount dan membuat konfigurasi databaseAccount terbaca dari cache.
2.4.5
- Jika pengguna menyediakan pkRangeId, versi ini menghindari coba lagi pada kesalahan rentang kunci partisi yang tidak valid
2.4.4
- Refresh cache rentang kunci partisi yang dioptimalkan.
- Memperbaiki skenario saat SDK tidak memperhatikan petunjuk pemisahan partisi dari server dan menghasilkan refresh perutean sisi klien yang salah.
2.4.2
- Refresh cache pengumpulan yang dioptimalkan.
2.4.1
- Menambahkan dukungan untuk mengambil pesan pengecualian dalam dari string diagnostik permintaan.
2.4.0
- Memperkenalkan API versi pada PartitionKeyDefinition.
2.3.0
- Menambahkan dukungan batas waktu terpisah untuk mode langsung.
2.2.3
- Mengkonsumsi pesan kesalahan null dari layanan dan menghasilkan pengecualian klien dokumen.
2.2.2
- Peningkatan koneksi soket, menambahkan SoKeepAlive default true.
2.2.0
- Menambahkan dukungan string diagnostik permintaan.
2.1.3
- Memperbaiki bug di PartitionKey untuk Hash V2.
2.1.2
- Menambahkan dukungan untuk indeks komposit.
- Memperbaiki bug di pengelola titik akhir global untuk memaksa refresh.
- Memperbaiki bug untuk operasi upsert dengan prasyarat dalam mode langsung.
2.1.1
- Memperbaiki bug di cache alamat gateway.
2.1.0
- Dukungan penulisan multi-wilayah ditambahkan untuk mode langsung.
- Menambahkan dukungan untuk penanganan
IOExceptions
yang dilemparkan sebagaiServiceUnavailable
pengecualian, dari proksi. - Memperbaiki bug dalam kebijakan coba lagi penemuan titik akhir.
- Memperbaiki bug untuk memastikan pengecualian pointer null tidak dilemparkan di BaseDatabaseAccountConfigurationProvider.
- Memperbaiki bug untuk memastikan QueryIterator tidak mengembalikan null.
- Memperbaiki bug untuk memastikan PartitionKey besar diizinkan.
2.0.0
- Dukungan penulisan multi-wilayah ditambahkan untuk mode gateway.
1.16.4
- Memperbaiki bug dalam rentang Kunci partisi Baca untuk kueri.
1.16.3
- Memperbaiki bug dalam mengatur ukuran judul token kelanjutan dalam mode DirectHttps.
1.16.2
- Menambahkan dukungan failover streaming.
- Menambahkan dukungan untuk metadata kustom.
- Peningkatan logika penanganan sesi.
- Memperbaiki bug dalam cache rentang kunci partisi.
NullPointerException
Memperbaiki bug (NPE) dalam mode langsung.
1.16.1
- Menambahkan dukungan untuk Indeks Unik.
- Menambahkan dukungan untuk membatasi ukuran token kelanjutan dalam opsi umpan.
- Memperbaiki bug dalam Json Serialization (tanda waktu).
- Memperbaiki bug dalam Json Serialization (tanda waktu).
- Dependensi pada com.fasterxml.jackson.core:jackson-databind ditingkatkan ke 2.9.5.
1.16.0
- Menyempurnakan Pooling Koneksi untuk Mode Langsung.
- Peningkatan Prefetch untuk kueri lintas partisi nonorderby.
- Generasi UUID yang lebih baik.
- Logika konsistensi Sesi yang lebih baik.
- Menambahkan dukungan untuk multipolygon.
- Menambahkan dukungan untuk Statistik Rentang Kunci Partisi untuk Koleksi.
- Memperbaiki bug di dukungan Multi-wilayah.
1.15.0
- Peningkatan Performa Json Serialization.
- Versi SDK ini memerlukanAzure Cosmos DB Emulator versi terbaru.
1.14.0
- Perubahan internal untuk pustaka teman Microsoft.
1.13.0
- Memperbaiki masalah dalam membaca rentang kunci partisi tunggal.
- Memperbaiki masalah dalam penguraian ResourceID yang mempengaruhi database dengan nama pendek.
- Memperbaiki masalah akibat pengkodean kunci partisi.
1.12.0
- Perbaikan bug kritis untuk meminta pemrosesan selama pemisahan partisi.
- Memperbaiki masalah dengan tingkat konsistensi Strong and BoundedStaleness.
1.11.0
- Menambahkan dukungan untuk tingkat konsistensi baru yang disebut ConsistentPrefix.
- Memperbaiki bug dalam koleksi pembacaan baca dalam mode sesi.
1.10.0
- Mengaktifkan dukungan untuk koleksi partisi dengan serendah 2.500 RU/dtk dan penskalaan dengan kenaikan 100 RU/detik.
- Memperbaiki bug di rakitan asli, yang dapat menyebabkan pengecualian NullRef dalam beberapa kueri.
1.9.6
- Memperbaiki bug dalam konfigurasi mesin kueri yang dapat menyebabkan pengecualian untuk kueri dalam mode Gateway.
- Memperbaiki beberapa bug dalam kontainer sesi yang dapat menyebabkan pengecualian "Sumber daya pemilik tidak ditemukan" untuk permintaan segera setelah pembuatan koleksi.
1.9.5
- Menambahkan dukungan untuk kueri agregasi (COUNT, MIN, MAX, SUM, dan AVG).
- Menambahkan dukungan untuk umpan perubahan.
- Menambahkan dukungan untuk informasi kuota koleksi melalui RequestOptions.setPopulateQuotaInfo.
- Menambahkan dukungan untuk pengelogan skrip prosedur tersimpan melalui RequestOptions.setScriptLoggingEnabled.
- Memperbaiki bug di mana kueri dalam mode DirectHttps mungkin berhenti merespons saat mengalami kegagalan pembatasan.
- Memperbaiki bug dalam mode konsistensi sesi.
- Memperbaiki bug, yang dapat menyebabkan NullReferenceException di HttpContext ketika tingkat permintaan tinggi.
- Performa mode DirectHttps yang lebih baik.
1.9.4
- Menambahkan dukungan proksi berbasis instans klien sederhana dengan ConnectionPolicy.setProxy() API.
- Menambahkan API DocumentClient.close() untuk menutup instans DocumentClient dengan benar.
- Peningkatan performa kueri dalam mode konektivitas langsung dengan mengambil paket kueri dari rakitan asli, bukan Gateway.
- Atur FAIL_ON_UNKNOWN_PROPERTIES = false sehingga pengguna tidak perlu menentukan JsonIgnoreProperties di Plain Old Java Object (POJO) mereka.
- Merefaktor pengelogan untuk menggunakan SLF4J.
- Memperbaiki beberapa bug lain dalam pembaca konsistensi.
1.9.3
- Memperbaiki bug dalam pengelolaan koneksi untuk mencegah kebocoran koneksi dalam mode konektivitas langsung.
- Memperbaiki bug dalam kueri TOP di mana ia mungkin melemparkan pengecualian NullReference.
- Meningkatkan performa dengan mengurangi jumlah panggilan jaringan untuk cache internal.
- Menambahkan kode status, ActivityID, dan Meminta URI di DocumentClientException untuk pemecahan masalah yang lebih baik.
1.9.2
- Memperbaiki masalah dalam pengelolaan koneksi untuk stabilitas.
1.9.1
- Menambahkan dukungan untuk tingkat konsistensi BoundedStaleness.
- Menambahkan dukungan untuk konektivitas langsung untuk operasi CRUD untuk koleksi yang dipartisi.
- Memperbaiki bug dalam mengajukan kueri database dengan SQL.
- Memperbaiki bug dalam cache sesi di mana token sesi mungkin salah diatur.
1.9.0
- Menambahkan dukungan untuk kueri paralel antar partisi.
- Menambahkan dukungan untuk kueri TOP/ORDER BY untuk koleksi yang dipartisi.
- Menambahkan dukungan untuk konsistensi yang kuat.
- Menambahkan dukungan untuk permintaan berbasis nama saat menggunakan konektivitas langsung.
- Perbaikan untuk membuat ActivityId tetap konsisten di semua operasi coba lagi permintaan.
- Memperbaiki bug yang terkait dengan cache sesi saat membuat ulang koleksi dengan nama yang sama.
- Menambahkan Polygon dan LineString DataTypes saat menentukan kebijakan pengindeksan untuk kueri spasial pembatasan geografi.
- Memperbaiki masalah dengan Java Doc untuk Java 1.8.
1.8.1
- Memperbaiki bug dalam PartitionKeyDefinitionMap untuk menyimpan cache koleksi partisi tunggal dan bukan membuat permintaan kunci partisi pengambilan ekstra.
- Memperbaiki bug untuk tidak mencoba lagi saat nilai kunci partisi yang salah disediakan.
1.8.0
- Menambahkan dukungan untuk akun database multi-wilayah.
- Menambahkan dukungan untuk coba lagi otomatis pada permintaan yang dibatasi dengan opsi untuk menyesuaikan upaya coba lagi maksimum dan waktu tunggu coba lagi maksimum. Untuk informasi selengkapnya, lihat RetryOptions dan ConnectionPolicy.getRetryOptions().
- Menonaktifkan kode pemartisian kustom berbasis IPartitionResolver. Gunakan koleksi yang dipartisi untuk penyimpanan dan throughput yang lebih tinggi.
1.7.1
- Menambahkan dukungan kebijakan coba lagi untuk pembatasan tarif.
1.7.0
- Menambahkan dukungan time to live (TTL) untuk dokumen.
1.6.0
- Menerapkan koleksi yang dipartisi dan tingkat performa yang ditentukan pengguna.
1.5.1
- Memperbaiki bug di HashPartitionResolver untuk menghasilkan nilai hash di little-endian agar konsisten dengan kit pengembangan perangkat lunak (SDK) lainnya.
1.5.0
- Menambahkan pemecah partisi Hash & Range untuk memudahkan pemecahan aplikasi di beberapa partisi.
1.4.0
- Menerapkan Upsert. Metode upsertXXX baru ditambahkan untuk mendukung fitur Upsert.
- Menerapkan perutean berbasis ID. Tidak ada perubahan API publik, semua perubahan internal.
1.3.0
- Rilis dilewati untuk menyesuaikan nomor versi SDK lainnya
1.2.0
- Mendukung Indeks GeoSpasial.
- Memvalidasi properti ID untuk semua sumber daya. Id untuk sumber daya tidak boleh berisi
?
, ,/
,#
,\
karakter, atau diakhir dengan spasi. - Menambahkan header baru "kemajuan transformasi indeks" ke ResourceResponse.
1.1.0
- Menerapkan kebijakan pengindeksan V2
1.0.0
- GA SDK
Tanggal rilis dan penghentian
Microsoft akan memberikan pemberitahuan minimal 12 bulan sebelum penghentian SDK guna melancarkan transisi ke versi yang lebih baru/didukung. Fitur dan fungsionalitas dan pengoptimalan baru hanya ditambahkan ke SDK saat ini. Kami menyarankan agar Anda selalu meningkatkan ke versi SDK terbaru sedini mungkin.
Peringatan
Setelah 30 mungkin 2020, Azure Cosmos DB tidak akan lagi melakukan perbaikan bug, menambahkan fitur baru, dan memberikan dukungan ke versi 1.x dari Azure Cosmos DB Java SDK untuk API untuk NoSQL. Jika Anda tidak ingin meningkatkan versi, permintaan yang dikirim dari SDK versi 1.x akan tetap dilayani oleh layanan Azure Cosmos DB.
Setelah 29 Februari 2016, Azure Cosmos DB tidak akan lagi melakukan perbaikan bug, menambahkan fitur baru, dan memberikan dukungan ke versi 0.x dari Azure Cosmos DB Java SDK untuk API untuk NoSQL. Jika Anda memilih untuk tidak meningkatkan versi, permintaan yang dikirim dari SDK versi 0.x akan tetap dilayani oleh layanan Azure Cosmos DB.
Versi | Tanggal Rilis | Tanggal Penghentian |
---|---|---|
2.6.1 | 17 Des 2020 | 29 Feb 2024 |
2.6.0 | 16 Juli 2020 | 29 Feb 2024 |
2.5.1 | 03 Juni 2020 | 29 Feb 2024 |
2.5.0 | 12 Mei 2020 | 29 Feb 2024 |
2.4.7 | 20 Feb 2020 | 29 Feb 2024 |
2.4.6 | 24 Jan 2020 | 29 Feb 2024 |
2.4.5 | 10 Nov 2019 | 29 Feb 2024 |
2.4.4 | 24 Okt 2019 | 29 Feb 2024 |
2.4.2 | 26 Sep 2019 | 29 Feb 2024 |
2.4.1 | 18 Jul 2019 | 29 Feb 2024 |
2.4.0 | 04 Mei 2019 | 29 Feb 2024 |
2.3.0 | 24 Apr 2019 | 29 Feb 2024 |
2.2.3 | 16 Apr 2019 | 29 Feb 2024 |
2.2.2 | 05 Apr 2019 | 29 Feb 2024 |
2.2.0 | 27 Mar 2019 | 29 Feb 2024 |
2.1.3 | 13 Mar 2019 | 29 Feb 2024 |
2.1.2 | 09 Mar 2019 | 29 Feb 2024 |
2.1.1 | 13 Des 2018 | 29 Feb 2024 |
2.1.0 | 20 Nov 2018 | 29 Feb 2024 |
2.0.0 | 21 Sep 2018 | 29 Feb 2024 |
1.16.4 | 10 Sep 2018 | 30 Mei 2020 |
1.16.3 | 09 Sep 2018 | 30 Mei 2020 |
1.16.2 | 29 Juni 2018 | 30 Mei 2020 |
1.16.1 | 16 Mei 2018 | 30 Mei 2020 |
1.16.0 | 15 Maret 2018 | 30 Mei 2020 |
1.15.0 | 14 Nov 2017 | 30 Mei 2020 |
1.14.0 | 28 Okt 2017 | 30 Mei 2020 |
1.13.0 | 25 Agustus 2017 | 30 Mei 2020 |
1.12.0 | Selasa, 11 Juli 2017 | 30 Mei 2020 |
1.11.0 | 10 Mei 2017 | 30 Mei 2020 |
1.10.0 | Sabtu, 11 Maret 2017 | 30 Mei 2020 |
1.9.6 | 21 Februari 2017 | 30 Mei 2020 |
1.9.5 | 31 Januari 2017 | 30 Mei 2020 |
1.9.4 | 24 November 2016 | 30 Mei 2020 |
1.9.3 | 30 Oktober 2016 | 30 Mei 2020 |
1.9.2 | 28 Oktober 2016 | 30 Mei 2020 |
1.9.1 | 26 Oktober 2016 | 30 Mei 2020 |
1.9.0 | 03 Oktober 2016 | 30 Mei 2020 |
1.8.1 | 30 Juni 2016 | 30 Mei 2020 |
1.8.0 | 14 Juni 2016 | 30 Mei 2020 |
1.7.1 | 30 April 2016 | 30 Mei 2020 |
1.7.0 | 27 April 2016 | 30 Mei 2020 |
1.6.0 | 29 Maret 2016 | 30 Mei 2020 |
1.5.1 | Kamis, 31 Desember 2015 | 30 Mei 2020 |
1.5.0 | 04 Desember 2015 | 30 Mei 2020 |
1.4.0 | 05 Oktober 2015 | 30 Mei 2020 |
1.3.0 | 05 Oktober 2015 | 30 Mei 2020 |
1.2.0 | 05 Agustus 2015 | 30 Mei 2020 |
1.1.0 | 09 Juli 2015 | 30 Mei 2020 |
1.0.1 | 12 Mei 2015 | 30 Mei 2020 |
1.0.0 | 07 April 2015 | 30 Mei 2020 |
0.9.5-pra-rilis | 09 Mar 2015 | 29 Februari 2016 |
0.9.4-pra-rilis | 17 Februari 2015 | 29 Februari 2016 |
0.9.3-pra-rilis | Selasa, 13 Januari 2015 | 29 Februari 2016 |
0.9.2-pra-rilis | 19 Desember 2014 | 29 Februari 2016 |
0.9.1-pra-rilis | 19 Desember 2014 | 29 Februari 2016 |
0.9.0-pra-rilis | 10 Desember 2014 | 29 Februari 2016 |
Tanya Jawab Umum
Bagaimana saya akan diberi tahu tentang SDK yang dihentikan?
Microsoft akan memberikan pemberitahuan 12 bulan sebelumnya sebelum akhir dukungan dari SDK yang dihentikan untuk memfasilitasi transisi yang mulus ke SDK yang didukung. Kami akan memberi tahu Anda melalui berbagai saluran komunikasi: portal Azure, pembaruan Azure, dan komunikasi langsung ke administrator layanan yang ditetapkan.
Dapatkah saya membuat aplikasi dengan menggunakan SDK Azure Cosmos DB yang akan dihentikan selama periode 12 bulan?
Ya, Anda akan dapat membuat, menyebarkan, dan mengubah aplikasi dengan menggunakan SDK Azure Cosmos DB yang akan dihentikan selama periode pemberitahuan 12 bulan. Kami menyarankan Anda untuk bermigrasi ke versi terbaru yang didukung dari SDK Azure Cosmos DB selama periode pemberitahuan 12 bulan, sebagaimana mestinya.
Setelah tanggal penghentian, apa yang terjadi pada aplikasi yang menggunakan SDK Azure Cosmos DB yang tidak didukung?
Setelah tanggal penghentian, Azure Cosmos DB tidak akan lagi melakukan perbaikan bug, menambahkan fitur baru, atau memberikan dukungan ke versi SDK yang dihentikan. Jika Anda memilih untuk tidak meningkatkan, permintaan yang dikirim dari versi SDK yang dihentikan akan terus dilayani oleh layanan Azure Cosmos DB.
Versi SDK mana yang akan memiliki fitur dan pembaruan terbaru?
Fitur dan pembaruan baru hanya akan ditambahkan ke versi minor terbaru dari versi SDK utama terbaru yang didukung. Kami menyarankan Anda untuk selalu menggunakan versi terbaru untuk memanfaatkan fitur baru, peningkatan performa, dan perbaikan bug. Jika Anda menggunakan SDK versi lama yang tidak dihentikan, permintaan Anda ke Azure Cosmos DB akan tetap berfungsi, tetapi Anda tidak akan memiliki akses ke kemampuan baru apa pun.
Apa yang harus saya lakukan jika saya tidak dapat memperbarui aplikasi saya sebelum batas waktu?
Kami menyarankan Anda meningkatkan ke SDK terbaru sedini mungkin. Setelah SDK ditandai untuk dihentikan, Anda memiliki waktu 12 bulan untuk memperbarui aplikasi. Jika Anda tidak dapat memperbarui pada tanggal penghentian, permintaan yang dikirim dari versi SDK yang dihentikan akan terus dilayani oleh Azure Cosmos DB, sehingga aplikasi Anda yang sedang berjalan akan terus berfungsi. Tetapi Azure Cosmos DB tidak akan lagi melakukan perbaikan bug, menambahkan fitur baru, atau memberikan dukungan ke versi SDK yang sudah dihentikan.
Jika Anda memiliki rencana dukungan dan memerlukan tim dukungan, hubungi kami dengan mengajukan tiket dukungan.
Bagaimana cara meminta fitur agar ditambahkan ke SDK atau konektor?
Fitur baru tidak selalu ditambahkan ke setiap SDK atau konektor dengan segera. Jika ada fitur tidak didukung yang ingin Anda tambahkan,silakan beri umpan balik ke forum komunitas kami.