Bagikan melalui


Menyimpan data yang tidak terstruktur menggunakan Azure Functions dan Azure Cosmos DB

Azure Cosmos DB merupakan cara yang bagus untuk menyimpan data yang tidak terstruktur dan JSON. Dikombinasikan dengan Azure Functions, Azure Cosmos DB membuat penyimpanan data cepat dan mudah dengan kode yang jauh lebih sedikit daripada yang diperlukan untuk menyimpan data dalam database relasional.

Catatan

Saat ini, pemicu Azure Cosmos DB, pengikatan data input, dan pengikatan data {i>output

Di Azure Functions, pengikatan data input dan {i>outputoutput

Prasyarat

Untuk menyelesaikan tutorial ini:

Topik ini digunakan sebagai titik awal sumber daya yang dibuat di Membuat fungsi pertama Anda dari portal Microsoft Azure. Jika Anda belum melakukannya, silakan selesaikan langkah-langkah ini sekarang untuk membuat aplikasi fungsi Anda.

Membuat akun Azure Cosmos DB

Anda harus memiliki akun Azure Cosmos DB yang menggunakan SQL API sebelum Anda membuat pengikatan data {i>output.

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

  2. Cari Azure Cosmos DB. Pilih Buat>Azure Cosmos DB.

  3. Pada halaman Buat akun Azure Cosmos DB, pilih opsi Buat di dalam bagian Azure Cosmos DB for NoSQL .

    Azure Cosmos DB menyediakan beberapa API:

    • NoSQL, untuk data dokumen
    • PostgreSQL
    • MongoDB, untuk data dokumen
    • Apache Cassandra
    • Tabel
    • Apache Gremlin, untuk data grafik

    Untuk mempelajari selengkapnya tentang API untuk NoSQL, lihat Selamat Datang di Azure Cosmos DB.

  4. Di halaman Buat Akun Azure Cosmos DB, masukkan pengaturan dasar untuk akun Azure Cosmos DB baru.

    Pengaturan Nilai Deskripsi
    Langganan Nama langganan Pilih langganan Azure yang ingin Anda gunakan untuk akun Azure Cosmos DB ini.
    Grup Sumber Daya Nama grup sumber daya Pilih grup sumber daya, atau pilih Buat baru, lalu masukkan nama unik untuk grup sumber daya baru.
    Nama Akun Nama yang unik Masukkan nama untuk mengidentifikasi akun Azure Cosmos DB Anda. Karena documents.azure.com ditambahkan ke nama yang Anda berikan untuk membuat URI Anda, gunakan nama yang unik. Nama hanya boleh berisi huruf kecil, angka, dan karakter tanda hubung (-). Harus 3-44 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 Azure Cosmos DB tingkat gratis, Anda mendapatkan 1000 RU/d pertama dan penyimpanan 25 GB secara gratis untuk satu akun. Pelajari lebih lanjut tentang tingkat gratis.
    Membatasi throughput akun total Dipilih atau tidak Batasi jumlah total throughput yang dapat disediakan di akun ini. Batas ini mencegah biaya tak terduga yang terkait dengan throughput yang disediakan. Anda dapat memperbarui atau menghapus batas ini setelah akun Anda dibuat.

    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, akun lain dalam langganan telah diaktifkan dengan tingkat gratis.

    Cuplikan layar memperlihatkan halaman Buat Akun Azure Cosmos DB.

    Catatan

    Opsi berikut ini tidak tersedia jika Anda memilih Tanpa Server sebagai mode Kapasitas:

    • Terapkan Diskon Tingkat Gratis
    • Membatasi throughput akun total
  5. Pada tab Distribusi Global, konfigurasikan detail berikut. Anda dapat menggunakan nilai default untuk mulai cepat 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 membantu Anda lebih meningkatkan ketersediaan dan ketahanan aplikasi Anda.

    Catatan

    Opsi berikut ini tidak tersedia jika Anda memilih Tanpa Server sebagai mode Kapasitas di halaman Dasar-Dasar sebelumnya:

    • Redundansi geografis
    • Tulisan Multiwilayah
  6. Secara opsional, Anda dapat mengonfigurasi detail selengkapnya di tab berikut:

    • Jaringan. Mengonfigurasi 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 penagihan gabungan dengan menerapkan tag yang sama ke beberapa sumber daya dan grup sumber daya.
  7. Pilih Tinjau + buat.

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

    Cuplikan layar menunjukkan bahwa penyebaran Anda selesai.

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

    Cuplikan layar memperlihatkan halaman akun Azure Cosmos DB.

Menambahkan pengikatan output

  1. Di portal Microsoft Azure, navigasi ke dan pilih aplikasi fungsi yang Anda buat sebelumnya.

  2. Pilih Fungsi, lalu pilih fungsi HttpTrigger.

    Pilih fungsi Http Anda di portal Microsoft Azure.

  3. Pilih Integrasi dan + Tambahkan output.

    Tambahkan pengikatan data {i>output<i} Microsoft Azure Cosmos DB.

  4. Gunakan pengaturan Buat Output seperti yang ditentukan dalam tabel:

    Konfigurasikan pengikatan data{i> output<i} Microsoft Azure Cosmos DB.

    Pengaturan Nilai yang disarankan Deskripsi
    Tipe Pengikatan Data Azure Cosmos DB Nama jenis pengikatan data yang dipilih untuk membuat {i>output
    Nama parameter dokumen taskDocument Nama yang mengacu pada objek Azure Cosmos DB dalam kode.
    Nama database taskDatabase Nama {i>database
    Nama koleksi taskCollection Nama koleksi {i>database
    Jika true, membuat database dan koleksi Azure Cosmos DB Ya Koleksi belum tersedia, buatlah.
    Koneksi akun Azure Cosmos DB Pengaturan baru Pilih Baru, lalu pilih Akun Azure Cosmos DB dan akun Database yang Anda buat sebelumnya, lalu pilih OK. Buat pengaturan aplikasi untuk koneksi akun Anda. Pengaturan ini digunakan oleh pengikatan data untuk koneksi ke {i>database
  5. Pilih OK untuk membuat pengikatan data.

Memperbarui kode fungsi

Ganti kode fungsi yang ada dengan kode berikut, dalam bahasa komputer yang Anda pilih:

Ganti fungsi C# yang ada dengan kode berikut:

#r "Newtonsoft.Json"

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;

public static IActionResult Run(HttpRequest req, out object taskDocument, ILogger log)
{
    string name = req.Query["name"];
    string task = req.Query["task"];
    string duedate = req.Query["duedate"];

    // We need both name and task parameters.
    if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(task))
    {
        taskDocument = new
        {
            name,
            duedate,
            task
        };

        return (ActionResult)new OkResult();
    }
    else
    {
        taskDocument = null;
        return (ActionResult)new BadRequestResult();
    }
}

Sampel kode ini membaca untai (karakter) kueri Permintaan HTTP dan menetapkannya ke bidang dalam objek taskDocument. Pengikatan taskDocument mengirim data objek dari parameter pengikatan ini untuk disimpan dalam database dokumen terikat. {i>Database

Menguji fungsi dan {i>database
  1. Pilih Uji/Jalankan. Di bawahKueri, pilih + Tambahkan parameter dan tambahkan parameter berikut ke untai (karakter) kueri:

    • name
    • task
    • duedate

    Uji fungsinya.

  2. PilihJalankan dan verifikasi bahwa status 200 telah dikembalikan.

    Cuplikan layar memperlihatkan status kode respons HTTP 200 disorot setelah memilih Jalankan.

  3. Di portal Microsoft Azure, cari dan pilihAzure Cosmos DB.

    Cari layanan Azure Cosmos DB.

  4. Pilih akun Azure Cosmos DB Anda, lalu pilih Data Explorer.

  5. Perluas simpulTaskCollection, pilih dokumen baru, dan konfirmasikan bahwa dokumen berisi nilai untai (karakter) kueri Anda, bersama dengan beberapa metadata tambahan.

    Verifikasi nilai {i>string<i} di dokumen Anda.

Anda berhasil menambahkan pengikatan ke pemicu HTTP Anda untuk menyimpan data yang tidak terstruktur dalam instans Azure Cosmos DB.

Membersihkan sumber daya

Di langkah-langkah sebelumnya, Anda membuat sumber daya Azure dalam grup sumber daya. Jika Anda tidak berharap membutuhkan sumber daya ini di masa mendatang, Anda dapat menghapusnya dengan menghapus grup sumber daya.

Pada menu portal Microsoft Azure atau halaman Beranda, pilih Grup sumber daya. Setelah itu, pada halaman Grup sumber daya, pilih myResourceGroup.

Pada halaman myResourceGroup, pastikan sumber daya yang tercantum adalah sumber daya yang ingin Anda hapus.

Pilih Hapus grup sumber daya, ketik myResourceGroup di kotak teks untuk mengonfirmasi, lalu pilih Hapus.

Langkah berikutnya

Untuk informasi selengkapnya tentang pengikatan ke instans Azure Cosmos DB, lihat Pengikatan Azure Functions Azure Cosmos DB.