Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Spring Data for Azure Cosmos DB menyediakan dukungan Spring Data untuk Azure Cosmos DB for NoSQL. Azure Cosmos DB adalah layanan database terdistribusi secara global yang dapat digunakan pengembang untuk bekerja dengan data dengan menggunakan berbagai API standar, seperti SQL, MongoDB, Cassandra, Graph, dan Table.
Panduan ini menjelaskan konsep Azure Spring Data Azure Cosmos DB SDK, fitur yang didukung, pemecahan masalah, dan masalah yang diketahui. Untuk informasi selengkapnya tentang konsep dan sampel kode ini, lihat readme Spring Data for Azure Cosmos DB SDK.
Kebijakan dukungan versi
Dukungan versi Spring Boot
Proyek ini mendukung beberapa versi Spring Boot. Untuk informasi selengkapnya, lihat Kebijakan Dukungan Spring Boot. Pengguna Maven dapat mewarisi proyek spring-boot-starter-parent untuk mendapatkan bagian manajemen dependensi yang memungkinkan Spring mengelola versi dependensi. Untuk informasi selengkapnya, lihat Dukungan Versi Spring Boot.
Dukungan versi Spring Data
Proyek ini mendukung versi yang berbeda spring-data-commons . Untuk informasi selengkapnya, lihat Dukungan Versi Spring Data.
Versi Azure Spring Data Azure Cosmos DB mana yang akan digunakan
pustaka Azure Spring Data Azure Cosmos DB mendukung beberapa versi Spring Boot dan Spring Cloud. Untuk informasi selengkapnya tentang versi Azure Spring Data Azure Cosmos DB mana yang akan digunakan dengan Spring Boot dan Spring Cloud, lihat Versi Azure Spring Data mana untuk Azure Cosmos DB yang harus saya gunakan?
Mulai Sekarang
Sertakan paket
Jika Anda menggunakan Maven, tambahkan dependensi berikut.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-spring-data-cosmos</artifactId>
<version>LATEST</version>
</dependency>
Prasyarat
- Java Development Kit (JDK), versi 8 atau yang lebih tinggi.
- Akun Azure aktif. Jika Anda tidak memilikinya, Anda dapat mendaftar untuk akun gratis . Atau, Anda dapat menggunakan Emulator Azure Cosmos DB
untuk pengembangan dan pengujian. Karena emulator menggunakan sertifikat HTTPS yang ditandatangani sendiri, Anda perlu mengimpor sertifikatnya ke penyimpanan sertifikat tepercaya Java, dijelaskan di sini. - (Opsional) SLF4J adalah fasad pengelogan.
- (Opsional) Penghubungan SLF4J digunakan untuk mengaitkan SLF4J dengan kerangka kerja pengelogan tertentu.
- (Opsional) Maven
Anda hanya memerlukan SLF4J jika Anda berencana untuk menggunakan pengelogan. Unduh juga pengikatan SLF4J, yang menautkan API SLF4J dengan implementasi pengelogan pilihan Anda. Untuk informasi selengkapnya, lihat manual pengguna SLF4J.
Menyiapkan dan menyesuaikan kelas konfigurasi
Untuk menyiapkan kelas konfigurasi, perluas AbstractCosmosConfiguration. Untuk informasi lebih lanjut, lihat Kelas Konfigurasi Setup.
Anda dapat menyesuaikan CosmosAsyncClient yang mendasarinya yang digunakan oleh Azure Spring Data Azure Cosmos DB SDK dengan menyediakan DirectConnectionConfig, GatewayConnectionConfig, atau keduanya, lalu memberikannya kepada CosmosClientBuilder. Untuk sampel lengkap, kunjungi bagian mengkustomisasi konfigurasi.
Penyiapan entitas
Anda dapat menentukan entitas sederhana sebagai item di Azure Cosmos DB. Tentukan entitas dengan menambahkan @Container anotasi dan menentukan properti yang terkait dengan kontainer. Untuk informasi selengkapnya, lihat Menentukan entitas.
Anotasi kontainer mendukung penentuan nama kontainer, unit permintaan (RU), waktu untuk hidup, membuat kontainer dengan throughput skala otomatis, dukungan kunci partisi berlapis, dan properti kontainer lainnya.
Penyiapan repositori
Azure Spring Data Azure Cosmos DB mendukung ReactiveCrudRepository (API asinkron) dan CrudRepository (API sinkronisasi), yang menyediakan fungsionalitas CRUD dasar berikut:
- simpan
- temukanSemua
- findOne berdasarkan ID
- hapusSemua
- hapus menurut ID
- hapus entitas
Anda dapat memperluas CosmosRepository (untuk dukungan API sinkronisasi) atau ReactiveCosmosRepository (untuk dukungan API asinkron) untuk menyiapkan repositori Spring Data untuk aplikasi Anda. Untuk informasi selengkapnya, lihat Membuat repositori.
Azure Spring Data Azure Cosmos DB mendukung penentuan kueri anotasi di repositori dengan menggunakan @Query. Untuk informasi selengkapnya, lihat QueryAnnotation : Menggunakan kueri yang dianotasi di repositori.
Anotasi Data Spring
Spring Data anotasi @Id
Anda dapat memetakan bidang di kelas domain ke id dalam beberapa cara. Untuk informasi selengkapnya, lihat bagian kode anotasi data ID spring pada bagian dan.
Pembuatan otomatis ID
Azure Spring Data Azure Cosmos DB mendukung pembuatan ID otomatis dengan menggunakan @GeneratedValue anotasi. Untuk informasi selengkapnya, lihat bagian pembuatan otomatis ID .
Ekspresi SpEL dan nama kontainer kustom
Secara default, nama kontainer adalah nama kelas kelas domain pengguna. Untuk menyesuaikan nama kontainer, tambahkan @Container(containerName="myCustomContainerName") anotasi ke kelas domain. Untuk informasi selengkapnya, lihat bagian ekspresi SpEL dan nama kontainer kustom.
Kebijakan Pengindeksan Kustom
Secara default, layanan Azure mengatur IndexingPolicy. Untuk menyesuaikan IndexingPolicy, tambahkan anotasi @CosmosIndexingPolicy pada kelas domain. Untuk informasi selengkapnya, lihat bagian kebijakan pengindeksan .
Kebijakan kunci unik
Azure Spring Data Azure Cosmos DB mendukung penetapan UniqueKeyPolicy pada kontainer dengan menambahkan anotasi @CosmosUniqueKeyPolicy ke kelas domain. Untuk informasi selengkapnya, lihat bagian kebijakan kunci unik .
Partisi Azure Cosmos DB
Azure-spring-data-cosmos mendukung partisi Azure Cosmos DB .
Untuk menentukan bidang kelas domain sebagai bidang kunci partisi, anotasi dengan @PartitionKey.
Saat Anda melakukan operasi CRUD, tentukan nilai partisi Anda.
Untuk informasi selengkapnya, lihat bagian pengujian di sini.
Penguncian Optimis
Azure-spring-data-cosmos mendukung penguncian optimis untuk kontainer tertentu. Artinya, operasi upsert dan hapus per item akan gagal dengan pengecualian jika proses lain memodifikasi item tersebut. Untuk informasi selengkapnya, lihat bagian penguncian optimis .
Kueri kustom Spring Data, dapat dipaginasi, dan pengurutan
Azure-spring-data-cosmos mendukung kueri kustom Spring Data, seperti operasi temukan seperti findByAFieldAndBField. Ini juga mendukung Spring Data Pageable, Slice, dan Sort. Untuk informasi selengkapnya, lihat bagian kueri, pageable, dan pengurutan.
Menggunakan Azure Cosmos DB Java SDK melalui Spring Data Cosmos
Azure-spring-data-cosmos mendukung penggunaan Azure Cosmos DB Java SDK. Anda bisa mendapatkan bean CosmosClient atau CosmosAsyncClient melalui ApplicationContext dan menjalankan operasi apa pun yang didukung oleh Azure Cosmos DB Java SDK. Untuk informasi selengkapnya, lihat bagian menggunakan Klien Azure Cosmos melalui Spring Data Cosmos.
Spring Data REST
Azure-spring-data-cosmos mendukung Spring Data REST. Untuk informasi selengkapnya, lihat bagian Azure Spring Data Azure Cosmos DB REST API.
Pengauditan
Azure-spring-data-cosmos mendukung kolom audit pada entitas basis data dengan menggunakan anotasi standar Spring Data. Untuk informasi selengkapnya, lihat bagian audit Spring Data Azure Cosmos DB.
Konfigurasi multi-database
Azure-spring-data-cosmos mendukung konfigurasi multi-database, termasuk beberapa akun database dan akun tunggal dengan beberapa database. Untuk cuplikan kode lengkap, lihat bagian konfigurasi multi database.
Pemecahan masalah
Umum
Jika Anda mengalami bug, ajukan masalah di sini.
Untuk menyarankan fitur atau perubahan baru, ajukan masalah dengan cara yang sama seperti bug.
Aktifkan Pengelogan Klien
Azure-spring-data-cosmos menggunakan SLF4j sebagai fasad pengelogan yang mendukung pengelogan ke kerangka kerja pengelogan populer seperti log4j dan logback. Untuk informasi selengkapnya, lihat bagian mengaktifkan pengelogan klien.
Contoh
Untuk proyek sampel lengkap, lihat proyek sampel .
Akun berbasis multi-basis data
Untuk proyek sampel lengkap, lihat proyek sampel beberapa database.
Akun tunggal dengan multi-basis data
Untuk proyek sampel lengkap, lihat satu akun dengan beberapa proyek sampel database.
Langkah berikutnya
- Baca selengkapnya tentang Azure Spring Data Azure Cosmos DB.
- Baca selengkapnya tentang Layanan Azure Cosmos DB.
- Lihat contoh Azure Spring Data Azure Cosmos DB.
- Lihat Spring MVC dengan sampel Azure Cosmos DB.
Kontribusi
Proyek ini menyambut kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) menyatakan bahwa Anda memiliki hak untuk, dan benar-benar melakukannya, memberi kami hak untuk menggunakan kontribusi Anda.
Saat Anda mengajukan pull request, CLA-bot akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menandai PR dengan cara yang sesuai, misalnya dengan label atau komentar. Cukup ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali saja untuk semua repositori yang menggunakan CLA kami.
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Code of Conduct atau hubungi opencode@microsoft.com dengan pertanyaan atau komentar lainnya.