Tutorial: Membuat API untuk akun Cassandra di Azure Cosmos DB dengan menggunakan aplikasi Java untuk menyimpan data kunci/nilai
BERLAKU UNTUK: Cassandra
Sebagai developer, Anda mungkin memiliki aplikasi yang menggunakan pasangan kunci/nilai. Anda dapat menggunakan API untuk akun Cassandra di Azure Cosmos DB untuk menyimpan data kunci/nilai. Tutorial ini menjelaskan cara menggunakan aplikasi Java untuk membuat API untuk akun Cassandra di Azure Cosmos DB, menambahkan database (juga disebut keyspace), dan menambahkan tabel. Aplikasi Java menggunakan driver Java untuk membuat database pengguna yang berisi detail seperti ID pengguna, nama pengguna, dan kota pengguna.
Tutorial ini mencakup tugas-tugas berikut:
- Membuat akun database Cassandra
- Mendapatkan string koneksi akun
- Membuat proyek dan dependensi Maven
- Menambahkan database dan tabel
- Menjalankan aplikasi
Prasyarat
Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Dapatkan Java Development Kit (JDK) versi terbaru.
Unduh dan pasang arsip biner Maven.
- Di Ubuntu, Anda dapat menjalankan
apt-get install maven
untuk memasang Maven.
- Di Ubuntu, Anda dapat menjalankan
Buat akun database
Pada menu portal Microsoft Azure atau halaman Beranda, pilih Buat sumber daya.
Pada halaman Baru, cari dan pilih Azure Cosmos DB.
Pada bilah Azure Cosmos DB, pilih Buat.
Pada halaman API , pilih Buat di bawah bagian Cassandra .
API akan menentukan jenis akun yang akan dibuat. Azure Cosmos DB menyediakan lima API: NoSQL untuk database dokumen, Gremlin untuk database grafik, MongoDB untuk database dokumen, Azure Table, dan Cassandra. Anda harus membuat akun terpisah untuk setiap API.
Pilih Cassandra, karena dalam mulai cepat ini Anda membuat tabel yang berfungsi dengan API untuk Cassandra.
Di halaman Buat Akun Azure Cosmos DB, masukkan pengaturan dasar untuk akun Azure Cosmos DB baru.
Pengaturan Nilai Deskripsi Langganan Langganan Anda Pilih langganan Azure yang ingin Anda gunakan untuk akun Azure Cosmos DB ini. Grup Sumber Daya Buat baru
Lalu masukkan nama yang sama dengan Nama AkunPilih Buat baru. Lalu masukkan nama grup sumber daya baru untuk akun Anda. Agar lebih sederhana, gunakan nama yang sama dengan nama akun Azure Cosmos DB Anda. Nama Akun Masukkan nama yang unik Masukkan nama unik untuk mengidentifikasi akun Azure Cosmos DB Anda. URI akun Anda akan cassandra.cosmos.azure.com ke nama akun unik Anda.
Nama akun hanya dapat menggunakan huruf kecil, angka, dan tanda hubung (-), dan panjangnya harus antara 3 dan 31 karakter.Lokasi Wilayah yang paling dekat dengan pengguna Anda Pilih lokasi geografis untuk menghosting akun Azure Cosmos DB Anda. Gunakan lokasi yang paling dekat dengan pengguna Anda untuk memberi mereka akses tercepat ke data. Mode kapasitas Throughput yang disediakan atau Tanpa server Pilih Throughput yang Tersedia untuk membuat akun dalam mode throughput yang tersedia. Pilih Tanpa server untuk membuat akun dalam mode tanpa server. Terapkan diskon tingkat gratis Azure Cosmos DB Terapkan atau Jangan terapkan Dengan tingkat gratis Azure Cosmos DB, Anda akan mendapatkan 1000 RU/dtk pertama dan penyimpanan 25 GB secara gratis pada akun. Pelajari lebih lanjut tentang tingkat gratis. Membatasi throughput akun total Pilih untuk membatasi throughput akun Ini berguna jika Anda ingin membatasi total throughput akun ke nilai tertentu. Catatan
Anda dapat memiliki hingga satu akun Azure Cosmos DB tingkat gratis per langganan Azure dan harus ikut serta saat membuat akun. Jika Anda tidak melihat opsi untuk menerapkan diskon tingkat gratis, ini berarti akun lain dalam langganan telah diaktifkan dengan tingkat gratis.
Pada tab Distribusi Global, konfigurasikan detail berikut. Anda dapat membiarkan nilai default untuk tujuan quickstart ini:
Pengaturan Nilai Deskripsi Redundansi Geografis Nonaktifkan Aktifkan atau nonaktifkan distribusi global di akun Anda dengan memasangkan wilayah Anda dengan wilayah pasangan. Anda dapat menambahkan lebih banyak wilayah ke akun Anda nanti. Tulisan Multiwilayah Nonaktifkan Kemampuan tulisan multiwilayah memungkinkan Anda untuk mengambil keuntungan dari throughput terprovisi untuk database dan kontainer Anda di seluruh dunia. Zona Ketersediaan Nonaktifkan Zona Ketersediaan adalah lokasi terisolasi dalam wilayah Azure. Setiap zonanya terdiri dari satu atau beberapa pusat data yang dilengkapi dengan daya, pendinginan, dan jaringan yang independen. Catatan
Opsi berikut ini tidak tersedia jika Anda memilih Tanpa Server sebagai mode Kapasitas:
- Terapkan Diskon Tingkat Gratis
- Redundansi geografis
- Tulisan Multiwilayah
Secara opsional, Anda dapat mengonfigurasi detail tambahan di tab berikut:
- Jaringan - Konfigurasikan akses dari jaringan virtual.
- Kebijakan Pencadangan - Konfigurasikan kebijakan pencadangan berkala atau berkelanjutan.
- Enkripsi - Gunakan kunci yang dikelola layanan atau kunci yang dikelola pelanggan.
- Tag - Tag adalah pasangan nama/nilai yang memungkinkan Anda mengategorikan sumber daya dan melihat tagihan gabungan dengan menerapkan tag yang sama ke beberapa sumber daya dan grup sumber daya.
Pilih Tinjau + buat.
Ulas pengaturan akun, lalu pilih Buat. Dibutuhkan beberapa menit untuk membuat akun. Tunggu halaman portal untuk menampilkan Penyebaran Anda selesai.
Pilih Buka sumber daya untuk masuk ke halaman akun Azure Cosmos DB.
Mendapatkan detail koneksi akun Anda
Dapatkan informasi string koneksi dari portal Microsoft Azure, dan salin ke file konfigurasi Java. String koneksi memungkinkan aplikasi Anda berkomunikasi dengan database yang dihosting.
Dari portal Azure, buka akun Azure Cosmos DB Anda.
Buka panelString Koneksi.
Salin nilai TITIK KONTAK, PORT, NAMA PENGGUNA, dan KATA SANDI UTAMA untuk digunakan di langkah berikutnya.
Membuat proyek dan dependensi
Proyek sampel Java yang Anda gunakan dalam artikel ini dihosting di GitHub. Anda dapat menjalankan langkah-langkah dalam dokumen ini atau mengunduh sampel dari repositori azure-cosmos-db-cassandra-java-getting-started.
Setelah mengunduh file, perbarui informasi string koneksi dalam file java-examples\src\main\resources\config.properties
dan jalankan.
cassandra_host=<FILLME_with_CONTACT POINT>
cassandra_port = 10350
cassandra_username=<FILLME_with_USERNAME>
cassandra_password=<FILLME_with_PRIMARY PASSWORD>
Gunakan langkah-langkah berikut untuk menyusun sampel dari awal:
Dari terminal atau prompt perintah, buat proyek Maven baru yang disebut Cassandra-demo.
mvn archetype:generate -DgroupId=com.azure.cosmosdb.cassandra -DartifactId=cassandra-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Temukan folder
cassandra-demo
. Dengan menggunakan editor teks, buka filepom.xml
yang dihasilkan.Tambahkan dependensi Cassandra dan plugin build yang diperlukan oleh proyek Anda, seperti yang ditunjukkan dalam pom.xml baru.
Di folder
cassandra-demo\src\main
, buat folder baru bernamaresources
. Di folder sumber daya, tambah file config.properties dan log4j.properties:File config.properties menyimpan titik akhir koneksi dan nilai kunci API untuk akun Cassandra.
File log4j.properties menentukan tingkat pengelogan yang diperlukan untuk berinteraksi dengan API untuk Cassandra.
Telusuri folder
src/main/java/com/azure/cosmosdb/cassandra/
. Dalam folder cassandra, buat folder lain bernamautils
. Folder baru menyimpan kelas utilitas yang diperlukan untuk terhubung ke API untuk akun Cassandra.Tambah kelas CassandraUtils untuk membuat kluster dan membuka dan menutup sesi Cassandra. Kluster terhubung ke API untuk akun Cassandra di Azure Cosmos DB dan mengembalikan sesi untuk diakses. Gunakan kelas Konfigurasi untuk membaca informasi string koneksi dari file config.properties.
Sampel Java membuat database dengan informasi pengguna seperti nama pengguna, ID pengguna, dan kota pengguna. Anda perlu menentukan metode dapatkan dan atur untuk mengakses detail pengguna di fungsi utama.
Buat kelas User.java di folder
src/main/java/com/azure/cosmosdb/cassandra/
dengan metode dapatkan dan atur.
Menambahkan database dan tabel
Bagian ini menjelaskan cara menambahkan database (keyspace) dan tabel dengan menggunakan CQL.
Di folder
src\main\java\com\azure\cosmosdb\cassandra
, buat folder baru bernamarepository
.Buat kelas Java
UserRepository
dan tambah kode berikut ke dalamnya:package com.azure.cosmosdb.cassandra.repository; import java.util.List; import com.datastax.driver.core.BoundStatement; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.Row; import com.datastax.driver.core.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Create a Cassandra session */ public class UserRepository { private static final Logger LOGGER = LoggerFactory.getLogger(UserRepository.class); private Session session; public UserRepository(Session session) { this.session = session; } /** * Create keyspace uprofile in cassandra DB */ public void createKeyspace() { final String query = "CREATE KEYSPACE IF NOT EXISTS uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 }"; session.execute(query); LOGGER.info("Created keyspace 'uprofile'"); } /** * Create user table in cassandra DB */ public void createTable() { final String query = "CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)"; session.execute(query); LOGGER.info("Created table 'user'"); } }
Temukan folder
src\main\java\com\azure\cosmosdb\cassandra
, dan buat subfolder baru bernamaexamples
.Buat kelas Java
UserProfile
. Kelas ini berisi metode utama yang memanggil metode createKeyspace dan createTable yang Anda tentukan sebelumnya:package com.azure.cosmosdb.cassandra.examples; import java.io.IOException; import com.azure.cosmosdb.cassandra.repository.UserRepository; import com.azure.cosmosdb.cassandra.util.CassandraUtils; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Example class which will demonstrate following operations on Cassandra Database on CosmosDB * - Create Keyspace * - Create Table * - Insert Rows * - Select all data from a table * - Select a row from a table */ public class UserProfile { private static final Logger LOGGER = LoggerFactory.getLogger(UserProfile.class); public static void main(String[] s) throws Exception { CassandraUtils utils = new CassandraUtils(); Session cassandraSession = utils.getSession(); try { UserRepository repository = new UserRepository(cassandraSession); //Create keyspace in cassandra database repository.createKeyspace(); //Create table in cassandra database repository.createTable(); } finally { utils.close(); LOGGER.info("Please delete your table after verifying the presence of the data in portal or from CQL"); } } }
Menjalankan aplikasi
Buka prompt perintah atau jendela terminal. Tempelkan blok kode berikut.
Kode ini mengubah direktori (cd) ke jalur folder tempat Anda membuat proyek. Kemudian, kode menjalankan perintah
mvn clean install
untuk membuat filecosmosdb-cassandra-examples.jar
dalam folder target. Akhirnya, kode menjalankan aplikasi Java.cd cassandra-demo mvn clean install java -cp target/cosmosdb-cassandra-examples.jar com.azure.cosmosdb.cassandra.examples.UserProfile
Jendela terminal menampilkan pemberitahuan bahwa keyspace dan tabel telah dibuat.
Sekarang, di portal Microsoft Azure, buka Data Explorer untuk mengonfirmasi bahwa keyspace dan tabel dibuat.
Langkah berikutnya
Dalam tutorial ini, Anda telah mempelajari cara membuat API untuk akun Cassandra di Azure Cosmos DB, database, dan tabel dengan menggunakan aplikasi Java. Sekarang Anda dapat melanjutkan ke artikel berikutnya:
muat data sampel ke API untuk tabel Cassandra.