Azure Cosmos DB for NoSQL: Contoh Java SDK v4
BERLAKU UNTUK: NoSQL
Penting
Untuk mempelajari lebih lanjut tentang Java SDK v4, silakan lihat Catatan rilis Azure Cosmos DB Java SDK v4, repositori Maven, tips kinerja Azure Cosmos DB Java SDK v4, dan panduan pemecahan masalah Azure Cosmos DB Java SDK v4 untuk informasi lebih lanjut. Jika saat ini Anda menggunakan versi yang lebih lama dari v4, lihat panduan Migrasi ke Azure Cosmos DB Java SDK v4 untuk bantuan peningkatan ke v4.
Penting
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
- Anda dapat mengaktifkan keuntungan pelanggan Visual Studio: Langganan Visual Studio Anda memberi Anda kredit setiap bulan yang dapat Anda gunakan untuk layanan Azure berbayar.
Anda dapat mencoba Azure Cosmos DB secara gratis, tanpa langganan Azure, dan tanpa penerapan. Atau, Anda dapat membuat akun tingkat gratis Azure Cosmos DB dengan 1000 RU/dtk dan penyimpanan 25 GB pertama secara gratis. Anda juga dapat menggunakan emulator Azure Cosmos DB dengan URI https://localhost:8081
. Agar kunci dapat digunakan dengan emulator, lihat Mengautentikasi permintaan.
Aplikasi sampel terbaru yang melakukan operasi CRUD dan operasi umum lainnya pada sumber daya Azure Cosmos DB disertakan dalam repositori GitHub azure-spring-data-cosmos-java-sql-api-sampels. Artikel ini menyediakan:
- Tautan ke tugas di setiap file proyek contoh Java.
- Tautan ke konten referensi API terkait.
Prasyarat
Anda memerlukan hal berikut ini untuk menjalankan aplikasi sampel ini:
- Kit Pengembangan Java 8
- Azure Cosmos DB Java SDK v4
Anda dapat secara opsional menggunakan Maven untuk mendapatkan biner Azure Cosmos DB Java SDK v4 terbaru untuk digunakan dalam proyek Anda. Maven secara otomatis menambahkan dependensi yang diperlukan. Jika tidak, Anda dapat langsung mengunduh dependensi yang tercantum di file pom.xml dan menambahkannya ke jalur build Anda.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>LATEST</version>
</dependency>
Menjalankan aplikasi sampel
Mengkloning repo sampel:
$ git clone https://github.com/Azure-Samples/azure-cosmos-java-sql-api-samples.git
$ cd azure-cosmos-java-sql-api-samples
Anda dapat menjalankan sampel menggunakan IDE (Eclipse, IntelliJ, atau VS Code) atau dari baris perintah menggunakan Maven.
Variabel lingkungan ini harus ditetapkan
ACCOUNT_HOST=your account hostname;ACCOUNT_KEY=your account primary key
untuk memberikan sampel akses baca/tulis ke akun Anda.
Untuk menjalankan sampel, tentukan Kelas Utamanya
com.azure.cosmos.examples.sample.synchronicity.MainClass
di mana sample.synchronicity.MainClass dapat diletakkan
- crudquickstart.sync.SampleCRUDQuickstart
- crudquickstart.async.SampleCRUDQuickstartAsync
- indexmanagement.sync.SampleIndexManagement
- indexmanagement.async.SampleIndexManagementAsync
- storedprocedure.sync.SampleStoredProcedure
- storedprocedure.async.SampleStoredProcedureAsync
- changefeed.SampleChangeFeedProcessor (Changefeed hanya memiliki satu sampel asinkron, tidak ada sampel sinkronisasi.) ... Dll...
Catatan
Setiap sampel mandiri; sampel mengatur dan membersihkan dirinya sendiri. Sampel membuat beberapa panggilan untuk membuat CosmosContainer
atau CosmosAsyncContainer
. Setiap kali hal ini dilakukan, langganan Anda akan ditagih selama 1 jam penggunakan untuk tingkat performa kumpulan yang sedang dibuat.
Contoh database
File Sampel CRUD Database untuk sinkronisasi dan asinkron menunjukkan cara melakukan tugas berikut. Untuk mempelajari tentang database Azure Cosmos DB sebelum menjalankan sampel berikut, lihat Artikel konseptual bekerja dengan database, kontainer, dan item .
Tugas | Referensi API |
---|---|
Membuat database | CosmosClient.createDatabaseIfNotExists CosmosAsyncClient.createDatabaseIfNotExists |
Baca database menurut ID | CosmosClient.getDatabase CosmosAsyncClient.getDatabase |
Membaca semua database | CosmosClient.readAllDatabases CosmosAsyncClient.readAllDatabases |
Menghapus database | CosmosDatabase.delete CosmosAsyncDatabase.delete |
Contoh koleksi
File Sampel CRUD Koleksi untuk sinkronisasi dan asinkron menunjukkan cara melakukan tugas berikut. Untuk mempelajari tentang koleksi Azure Cosmos DB sebelum menjalankan sampel berikut, lihat Artikel konseptual Bekerja dengan database, kontainer, dan item .
Tugas | Referensi API |
---|---|
Membuat kumpulan | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
Mengubah performa kumpulan yang dikonfigurasi | CosmosContainer.replaceThroughput CosmosAsyncContainer.replaceProvisionedThroughput |
Mendapatkan kumpulan menurut ID | CosmosDatabase.getContainer CosmosAsyncDatabase.getContainer |
Membaca semua kumpulan dalam database | CosmosDatabase.readAllContainers CosmosAsyncDatabase.readAllContainers |
Menghapus kumpulan | CosmosContainer.delete CosmosAsyncContainer.delete |
Contoh kumpulan skala otomatis
Untuk mempelajari selengkapnya tentang autoscale sebelum menjalankan sampel ini, lihat instruksi ini untuk mengaktifkan autoscale di akun Anda dan di database dan kontainer Anda.
File sampel database penskalaan otomatis untuk sinkronisasi dan asinkron menunjukkan cara melakukan tugas berikut.
Tugas | Referensi API |
---|---|
Membuat database dengan throughput maks skala otomatis yang ditentukan | CosmosClient.createDatabase CosmosAsyncClient.createDatabase |
File sampel koleksi penskalaan otomatis untuk sinkronisasi dan asinkron menunjukkan cara melakukan tugas berikut.
Tugas | Referensi API |
---|---|
Membuat kumpulan dengan throughput maks skala otomatis yang ditentukan | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
Mengubah throughput maks skala otomatis yang dikonfigurasi dari kumpulan | CosmosContainer.replaceThroughput CosmosAsyncContainer.replaceThroughput |
Membaca konfigurasi throughput skala otomatis dari kumpulan | CosmosContainer.readThroughput CosmosAsyncContainer.readThroughput |
Contoh kumpulan penyimpanan analitis
File Sampel CRUD Koleksi penyimpanan Analitik untuk sinkronisasi dan asinkron menunjukkan cara melakukan tugas berikut. Untuk mempelajari tentang koleksi Azure Cosmos DB sebelum menjalankan sampel berikut, baca tentang Azure Cosmos DB Synapse dan Analytical Store.
Tugas | Referensi API |
---|---|
Membuat kumpulan | CosmosDatabase.createContainerIfNotExists CosmosAsyncDatabase.createContainerIfNotExists |
Contoh item
File Sampel CRUD Dokumen untuk sinkronisasi dan asinkron menunjukkan cara melakukan tugas berikut. Untuk mempelajari tentang dokumen Azure Cosmos DB sebelum menjalankan sampel berikut, lihat Artikel konseptual Bekerja dengan database, kontainer, dan item .
Catatan
Anda harus menentukan kunci partisi saat melakukan operasi terhadap item tertentu.
Tugas | Referensi API |
---|---|
Buat dokumen | CosmosContainer.createItem CosmosAsyncContainer.createItem |
Baca dokumen menurut ID | CosmosContainer.readItem CosmosAsyncContainer.readItem |
Kueri untuk dokumen | CosmosContainer.queryItems CosmosAsyncContainer.queryItems |
Mengganti dokumen | CosmosContainer.replaceItem CosmosAsyncContainer.replaceItem |
Upsert dokumen | CosmosContainer.upsertItem CosmosAsyncContainer.upsertItem |
Hapus dokumen | CosmosContainer.deleteItem CosmosAsyncContainer.deleteItem |
Mengganti dokumen dengan pemeriksaan ETag kondisional | CosmosItemRequestOptions.setIfMatchETag (sinkronisasi) CosmosItemRequestOptions.setIfMatchETag (async) |
Membaca dokumen hanya jika dokumen telah berubah | CosmosItemRequestOptions.setIfNoneMatchETag (sinkronisasi) CosmosItemRequestOptions.setIfNoneMatchETag (async) |
Pembaruan dokumen parsial | CosmosContainer.patchItem |
Pembaruan dokumen massal | Sampel massal |
Batch transaksional | sampel batch |
Contoh pengindeksan
File Sampel CRUD Kumpulan memperlihatkan cara melakukan tugas berikut. Untuk mempelajari tentang pengindeksan di Azure Cosmos DB sebelum menjalankan sampel berikut, lihat artikel konseptual kebijakan pengindeksan, jenis pengindeksan, dan jalur pengindeksan.
Tugas | Referensi API |
---|---|
Sertakan jalur dokumen tertentu dalam indeks | IndexingPolicy.IncludedPaths |
Mengecualikan jalur dokumen tertentu dari indeks | IndexingPolicy.ExcludedPaths |
Membuat indeks komposit | IndexingPolicy.setCompositeIndexes CompositePath |
Membuat indeks geospasial | IndexingPolicy.setSpatialIndexes SpatialSpec SpatialType |
Untuk informasi selengkapnya tentang pengindeksan, lihat kebijakan pengindeksan Azure Cosmos DB.
Contoh kueri
File Sampel Kueri untuk sinkronisasi dan asinkron menunjukkan cara melakukan tugas berikut dengan menggunakan tata bahasa kueri SQL. Untuk mempelajari tentang referensi kueri SQL di Azure Cosmos DB sebelum Anda menjalankan contoh berikut, lihat contoh kueri SQL untuk Azure Cosmos DB.
Contoh umpan perubahan
File Ubah Sampel Prosesor Umpan memperlihatkan cara melakukan tugas berikut. Untuk mempelajari tentang umpan perubahan di Azure Cosmos DB sebelum Anda menjalankan sampel berikut, lihat Membaca umpan perubahan Azure Cosmos DB dan Prosesor umpan perubahan.
Tugas | Referensi API |
---|---|
Fungsionalitas umpan perubahan dasar | ChangeFeedProcessor.changeFeedProcessorBuilder |
Baca umpan perubahan dari awal | ChangeFeedProcessorOptions.setStartFromBeginning() |
Contoh pemrograman sisi server
File Sampel Prosedur Tersimpan memperlihatkan cara melakukan tugas berikut ini. Untuk mempelajari tentang pemrograman sisi server di Azure Cosmos DB sebelum menjalankan sampel berikut ini, lihat Prosedur tersimpan, pemicu, dan fungsi yang ditentukan pengguna.
Tugas | Referensi API |
---|---|
Membuat prosedur tersimpan | CosmosScripts.createStoredProcedure |
Menjalankan prosedur tersimpan | CosmosStoredProcedure.execute |
Menghapus prosedur tersimpan | CosmosStoredProcedure.delete |
Langkah berikutnya
Mencoba melakukan perencanaan kapasitas untuk migrasi ke Azure Cosmos DB? Anda dapat menggunakan informasi tentang kluster database Anda yang ada saat ini untuk membuat perencanaan kapasitas.
- Jika Anda hanya mengetahui jumlah vcore dan server di kluster database yang ada, baca tentang memperkirakan unit permintaan menggunakan vCore atau vCPU
- Jika Anda mengetahui rasio permintaan umum untuk beban kerja database Anda saat ini, baca memperkirakan unit permintaan menggunakan perencana kapasitas Azure Cosmos DB