Mulai Cepat: Bangun aplikasi Cassandra dengan .NET Core and Azure Cosmos DB

BERLAKU UNTUK: Cassandra

Mulai cepat ini menunjukkan cara menggunakan .NET Core dan API Azure Cosmos DB untuk Cassandra untuk membangun aplikasi profil dengan mengkloning contoh dari GitHub. Mulai cepat ini juga menunjukkan kepada Anda cara menggunakan portal Microsoft Azure berbasis web untuk membuat akun Azure Cosmos DB.

Azure Cosmos DB adalah layanan database multi-model Microsoft yang didistribusikan secara global. Anda dapat dengan cepat membuat dan mengkueri database dokumen, kunci/nilai dan grafik, yang semuanya mendapat manfaat dari distribusi global dan kemampuan skala horizontal di inti Cosmos DB.

Prasyarat

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai. Atau, Anda dapat Mencoba Microsoft Azure Cosmos DB secara gratis tanpa langganan Azure, tanpa biaya dan komitmen.

Selain itu, Anda perlu:

  • Visual Studio terkini dengan beban kerja pengembangan Azure. Anda dapat mulai menggunakan IDE gratisVisual Studio Community. Aktifkan beban kerja Pengembangan Azure selama penyiapan Visual Studio.
  • Instal Git untuk mengkloning contoh.

Buat akun database

  1. Pada menu portal Microsoft Azure atau halaman Beranda, pilih Buat sumber daya.

  2. Pada halaman Baru, cari dan pilih Azure Cosmos DB.

  3. Pada bilah Azure Cosmos DB, pilih Buat.

  4. 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.

    Pelajari selengkapnya tentang API untuk Cassandra.

  5. 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 Akun
    Pilih 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.

    The new account page for Azure Cosmos DB for Apache Cassandra

  6. 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
  7. 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.
  8. Pilih Tinjau + buat.

  9. Ulas pengaturan akun, lalu pilih Buat. Dibutuhkan beberapa menit untuk membuat akun. Tunggu halaman portal untuk menampilkan Penyebaran Anda selesai.

    The Azure portal Notifications pane

  10. Pilih Buka sumber daya untuk masuk ke halaman akun Azure Cosmos DB.

Buat klon sampel aplikasi

Sekarang mari kita mulai bekerja dengan kode. Mari kita kloning API untuk aplikasi Cassandra dari GitHub, atur string koneksi, dan jalankan. Anda akan melihat seberapa mudah Anda dapat bekerja dengan data secara terprogram.

  1. Buka prompt perintah. Buat folder baru bernama git-samples. Kemudian, tutup prompt perintah.

    md "C:\git-samples"
    
  2. Buka jendela terminal git, seperti git bash, dan gunakan perintah cd untuk mengubah ke folder baru untuk memasang aplikasi sampel.

    cd "C:\git-samples"
    
  3. Jalankan perintah berikut untuk mengkloning repositori sampel. Perintah ini membuat salinan aplikasi sampel di komputer Anda.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-dotnet-core-getting-started.git
    
  4. Selanjutnya, buka file solusi Cassandramulai cepatSample di Visual Studio.

Mengulas kode

Langkah ini bersifat opsional. Jika Anda tertarik untuk mempelajari bagaimana kode membuat sumber daya database, Anda bisa meninjau cuplikan berikut. Cuplikan semuanya diambil dari file dalam Program.csasync Task ProcessAsync() metode, diinstal di C:\git-samples\azure-cosmos-db-cassandra-dotnet-core-getting-started\CassandraQuickStart folder. Jika tidak, Anda dapat melompatinya untuk Memperbarui string koneksi Anda.

  • Inisialisasi sesi dengan menyambungkan ke titik akhir kluster Cassandra. API untuk Cassandra di Azure Cosmos DB hanya mendukung TLSv1.2.

    var options = new Cassandra.SSLOptions(SslProtocols.Tls12, true, ValidateServerCertificate);
    options.SetHostNameResolver((ipAddress) => CASSANDRACONTACTPOINT);
    Cluster cluster = Cluster
        .Builder()
        .WithCredentials(USERNAME, PASSWORD)
        .WithPort(CASSANDRAPORT)
        .AddContactPoint(CASSANDRACONTACTPOINT)
        .WithSSL(options)
        .Build()
    ;
    ISession session = await cluster.ConnectAsync();
    
  • Letakkan ruang kunci yang ada jika sudah ada.

    await session.ExecuteAsync(new SimpleStatement("DROP KEYSPACE IF EXISTS uprofile")); 
    
  • Buat keyspace baru.

    await session.ExecuteAsync(new SimpleStatement("CREATE KEYSPACE uprofile WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 };"));
    
  • Buat tabel baru.

    await session.ExecuteAsync(new SimpleStatement("CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)"));
    
  • Sisipkan entitas pengguna dengan menggunakan objek IMapper dengan sesi baru yang tersambung ke ruang tombol uprofile.

    await mapper.InsertAsync<User>(new User(1, "LyubovK", "Dubai"));
    
  • Kuerikan untuk mendapatkan semua informasi Pengguna.

    foreach (User user in await mapper.FetchAsync<User>("Select * from user"))
    {
        Console.WriteLine(user);
    }
    
  • Kuerikan untuk mendapatkan informasi Pengguna tunggal.

    mapper.FirstOrDefault<User>("Select * from user where user_id = ?", 3);
    

Memperbarui string koneksi Anda

Sekarang kembali ke portal Microsoft Azure untuk mendapatkan informasi string koneksi Anda dan menyalinnya ke dalam aplikasi. String koneksi memungkinkan aplikasi Anda berkomunikasi dengan database yang dihosting.

  1. Di portal Microsoft Azure, pilih String Koneksi.

  2. Gunakan tombol di sisi kanan layar untuk menyalin nilai NAMA PENGGUNA.

    View and copy an access key in the Azure portal, Connection String page

  3. Di Visual Studio, buka file Program.cs.

  4. Tempelkan nilai CONTACT POINT dari portal di atas <PROVIDE> pada baris 13.

    Baris 13 program.cs sekarang harus terlihat mirip dengan

    private const string UserName = "cosmos-db-quickstart";

    Anda juga bisa menempelkan nilai yang sama di atas <PROVIDE> pada baris 15 untuk nilai TITIK KONTAK:

    private const string CassandraContactPoint = "cosmos-db-quickstarts.cassandra.cosmosdb.azure.com"; // DnsName

  5. Kembali ke portal dan salin PASSWORD. Tempelkan nilai PASSWORD dari portal di <PROVIDE> atas pada baris 14.

    Baris 14 program.cs sekarang harus terlihat mirip dengan

    private const string Password = "2Ggkr662ifxz2Mg...==";

  6. Kembali ke portal dan salin nilai CONTACT POINT. Tempel nilai TITIK KONTAK dari portal di atas <PROVIDE> pada baris 16.

    Baris 16 program.cs sekarang harus terlihat mirip dengan

    private const string CASSANDRACONTACTPOINT = "quickstart-cassandra-api.cassandra.cosmos.azure.com";

  7. Simpan file Program.cs.

Jalankan aplikasi .NET Core

  1. Dalam Visual Studio, pilih Alat>NuGet Package Manager>Package Manager Console.

  2. Pada prompt perintah, gunakan perintah berikut untuk memasang paket NuGet .NET Driver.

    Install-Package CassandraCSharpDriver
    
  3. Tekan CTRL + F5 untuk menjalankan aplikasi. Aplikasi Anda ditampilkan di jendela konsol.

    View and verify the output

    Tekan Ctrl+C untuk menghentikan eksekusi program dan menutup jendela konsol.

  4. Di portal Microsoft Azure, buka Azure Data Explorer untuk membuat kueri, memodifikasi, dan bekerja dengan data baru ini.

    View the data in Data Explorer

Mengulas SLA di portal Microsoft Azure

portal Azure memantau throughput, penyimpanan, ketersediaan, latensi, dan konsistensi akun Azure Cosmos DB Anda. Bagan untuk metrik yang terkait dengan Service Level Agreement (SLA) Azure Cosmos DB menunjukkan nilai SLA dibandingkan dengan performa aktual. Rangkaian metrik ini membuat pemantauan SLA Anda transparan.

Untuk meninjau metrik dan SLA:

  1. Pilih Metrik di menu navigasi akun Azure Cosmos DB Anda.

  2. Pilih tab seperti Latensi, dan pilih jangka waktu di sebelah kanan. Bandingkan garis Aktual dan SLA pada bagan.

    Azure Cosmos DB metrics suite

  3. Tinjau metrik pada tab lain.

Membersihkan sumber daya

Setelah selesai dengan aplikasi dan akun Azure Cosmos DB, Anda dapat menghapus sumber daya Azure yang dibuat sehingga tidak dikenakan lebih banyak biaya. Untuk menghapus sumber daya:

  1. Di portal Azure, cari dan pilih Grup sumber daya.

  2. Dari daftar, pilih grup sumber daya yang Anda buat untuk panduan mulai cepat ini.

    Select the resource group to delete

  3. Di panel Gambaran umum grup sumber daya, pilih Hapus grup sumber daya.

    Delete the resource group

  4. Di jendela berikutnya, masukkan nama grup sumber daya yang akan dihapus, lalu pilih Hapus.

Langkah berikutnya

Dalam mulai cepat ini, Anda telah mempelajari cara membuat akun Microsoft Azure Cosmos DB, membuat kontainer menggunakan Data Explorer, dan menjalankan aplikasi web. Sekarang Anda dapat mengimpor data lain ke akun Azure Cosmos DB Anda.