Membuat fungsi yang dipicu oleh Azure Cosmos DB

Pelajari cara membuat fungsi di portal Azure yang dipicu saat data ditambahkan atau diubah di Azure Cosmos DB. Untuk mempelajari selengkapnya tentang Azure Cosmos DB, lihat Azure Cosmos DB: Komputasi database tanpa server menggunakan Azure Functions.

Catatan

Pengeditan dalam portal hanya didukung untuk fungsi JavaScript, PowerShell, dan C# Script. Pengeditan Python di portal hanya didukung saat berjalan dalam paket Konsumsi. Jika memungkinkan, Anda harus mengembangkan fungsi Anda secara lokal.

Untuk mempelajari selengkapnya tentang batasan pengeditan kode fungsi di portal Azure, lihat Batasan pengembangan di portal Azure.

Prasyarat

Untuk menyelesaikan tutorial ini:

  • Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Catatan

Pengikatan Azure Cosmos DB hanya didukung untuk digunakan dengan Azure Cosmos DB untuk NoSQL. Dukungan untuk Azure Cosmos DB for Table disediakan dengan menggunakan pengikatan penyimpanan Tabel, dimulai dengan ekstensi 5.x. Untuk semua API Azure Cosmos DB lainnya, Anda harus mengakses database dari fungsi Anda dengan menggunakan klien statis untuk API Anda, termasuk Azure Cosmos DB untuk MongoDB, Azure Cosmos DB untuk Cassandra, dan Azure Cosmos DB untuk Apache Gremlin.

Masuk ke Azure

Masuk ke portal Azure dengan akun Azure Anda.

Membuat akun Azure Cosmos DB

Anda harus memiliki akun Azure Cosmos DB yang menggunakan API SQL sebelum Anda membuat pemicunya.

  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
    • Table
    • 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.

    Screenshot shows the Create Azure Cosmos DB Account page.

    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.

    Screenshot shows that your deployment is complete.

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

    Screenshot shows the Azure Cosmos DB account page.

Membuat aplikasi fungsi di Azure

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

  2. Di halaman Baru, pilih Komputasi>Aplikasi Fungsi.

  3. Di halaman Dasar, gunakan pengaturan aplikasi fungsi seperti ditentukan dalam tabel di bawah:

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Langganan Anda Langganan tempat Anda membuat aplikasi fungsi baru.
    Grup Sumber Daya myResourceGroup Nama untuk grup sumber daya baru tempat Anda membuat aplikasi fungsi. Anda harus membuat grup sumber daya baru karena ada batasan yang diketahui saat membuat aplikasi fungsi baru di grup sumber daya yang ada.
    Nama Aplikasi Fungsi Nama unik secara global Nama yang akan mengidentifikasi aplikasi fungsi baru Anda. Karakter yang valid a-z (peka huruf besar dan kecil), 0-9, dan -.
    Apakah Anda ingin menyebarkan kode atau gambar kontainer? Kode Opsi untuk menerbitkan file kode atau kontainer Docker.
    Tumpukan runtime Bahasa pilihan Pilih runtime yang mendukung bahasa pemrograman fungsi favorit Anda. Pengeditan dalam portal hanya tersedia untuk skrip JavaScript, PowerShell, Python, TypeScript, dan C#. Pustaka kelas C# dan fungsi Java harus dikembangkan secara lokal.
    Versi Nomor versi Pilih versi runtime yang terpasang.
    Wilayah Wilayah pilihan Pilih wilayah yang ada di dekat Anda atau di dekat layanan lain yang dapat diakses oleh fungsi Anda.
    Sistem operasi Jendela Sistem operasi telah dipilih sebelumnya untuk Anda berdasarkan pemilihan tumpukan runtime Anda, tetapi Anda dapat mengubah pengaturan jika perlu. Pengeditan dalam portal hanya didukung di Windows. Penerbitan kontainer hanya didukung di Linux.
    Opsi dan paket hosting Konsumsi (Tanpa Server) Paket hosting yang menentukan cara sumber daya dialokasikan ke aplikasi fungsi Anda. Dalam paket Konsumsi default, sumber daya ditambahkan secara dinamis sebagaimana diperlukan oleh fungsi Anda. Dalam hosting tanpa server ini, Anda cukup membayar durasi waktu saat fungsi Anda berjalan. Paket premium juga menawarkan penskalakan dinamis. Saat Anda menjalankan paket Azure App Service, Anda harus mengelola penskalaan aplikasi fungsi Anda.
  4. Terima opsi default untuk membuat akun penyimpanan baru di tab Penyimpanan dan instans Application Insight baru pada tab Pemantauan . Anda juga dapat memilih untuk menggunakan akun penyimpanan atau instans Application Insights yang ada.

  5. Pilih Tinjau + buat untuk meninjau konfigurasi aplikasi yang Anda pilih, lalu pilih Buat untuk menyediakan dan menyebarkan aplikasi fungsi.

  6. Pilih ikon Pemberitahuan di sudut kanan atas portal dan lihat pesan Deployment berhasil.

  7. Pilih Buka sumber daya untuk melihat aplikasi fungsi baru Anda. Anda juga dapat memilih Sematkan ke dasbor. Menyematkan memudahkan untuk kembali ke sumber daya aplikasi fungsi ini dari dasbor Anda.

    Screenshot of deployment notification.

Selanjutnya, buat fungsi di aplikasi fungsi baru.

Membuat pemicu Azure Cosmos DB

  1. Di aplikasi fungsi Anda, pilih Gambaran Umum, lalu pilih + Buat di bawah Fungsi.

  2. Di bawah Pilih templat, gulir ke bawah dan pilih templat pemicu Azure Cosmos DB.

  3. Di Detail templat, konfigurasikan pemicu baru dengan pengaturan seperti yang ditentukan dalam tabel ini, lalu pilih Buat:

    Pengaturan Nilai yang disarankan Deskripsi
    Fungsi baru Terima nama default Nama fungsi.
    Koneksi akun Azure Cosmos DB Terima nama baru default Pilih Baru, Akun Database yang Anda buat sebelumnya, lalu OK. Tindakan ini membuat setelan aplikasi untuk sambungan akun Anda. Pengaturan ini digunakan oleh pengikatan data untuk koneksi ke {i>database
    Nama database Tugas Nama database yang menyertakan koleksi yang akan dipantau.
    Nama koleksi Item Nama koleksi yang akan dipantau.
    Nama koleksi untuk sewa sewa Nama koleksi untuk menyimpan sewa.
    Membuat koleksi sewa jika tidak ada Ya Memeriksa keberadaan kumpulan sewa dan secara otomatis membuatnya.

    Azure membuat fungsi yang dipicu Azure Cosmos DB berdasarkan nilai yang disediakan.

  4. Untuk menampilkan kode fungsi berbasis templat, pilih Kode + Uji.

    Azure Cosmos DB function template in C#

    Templat fungsi ini menulis jumlah dokumen dan ID dokumen pertama ke log.

Selanjutnya, Anda terhubung ke akun Azure Cosmos DB Anda dan membuat kontainer Items dalam database Tasks.

Membuat kontainer Item

  1. Buka instans kedua portal Microsoft Azure di tab baru di browser.

  2. Di sisi kiri portal, perluas bilah ikon, ketik cosmos di bidang pencarian, dan pilih Azure Cosmos DB.

    Search for the Azure Cosmos DB service

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

  4. Di bawah API SQL, pilih database Tugas dan pilih Kontainer Baru.

    Create a container

  5. Di Tambahkan Kontainer, gunakan pengaturan yang diperlihatkan dalam tabel di bawah gambar.

    Define the Tasks container

    Pengaturan Nilai yang disarankan Deskripsi
    ID Database Tugas Nama untuk database baru Anda. Nama ini harus cocok dengan nama yang ditentukan dalam pengikatan fungsi Anda.
    ID Kontainer Item Nama untuk kontainer baru. Nama ini harus cocok dengan nama yang ditentukan dalam pengikatan fungsi Anda.
    Kunci partisi /category Kunci partisi yang mendistribusikan data secara merata ke setiap partisi. Memilih kunci partisi yang benar adalah penting dalam membuat kontainer performan.
    Throughput 400 RU Gunakan nilai default. Jika Anda ingin mengurangi latensi, Anda dapat meningkatkan throughput nanti.
  6. Klik OK untuk membuat kontainer Item. Kontainer hanya butuh waktu singkat untuk dibuat.

Setelah kontainer yang ditentukan dalam pengikatan fungsi ada, Anda dapat menguji fungsi dengan menambahkan item ke kontainer baru ini.

Uji fungsi

  1. Perluas kontainer Item baru di Data Explorer, pilih Item, lalu pilih Item Baru.

    Create an item in Items container

  2. Ganti konten item baru dengan konten berikut, lalu pilih Simpan.

    {
        "id": "task1",
        "category": "general",
        "description": "some task"
    }
    
  3. Beralih ke tab browser pertama yang berisi fungsi Anda di portal. Perluas log fungsi dan verifikasi bahwa dokumen baru telah memicu fungsi. Pastikan bahwa task1 nilai ID dokumen ditulis ke log.

    View message in the logs.

  4. (Opsional) Kembali ke dokumen Anda, buat perubahan, dan klik Perbarui. Kemudian, kembali ke log fungsi dan verifikasi bahwa pembaruan juga telah memicu fungsi.

Membersihkan sumber daya

Panduan mulai cepat yang lain dalam koleksi ini dibangun berdasarkan panduan mulai cepat ini. Jika Anda berencana untuk bekerja dengan mulai cepat berikutnya, tutorial, atau dengan salah satu layanan yang telah Anda buat dalam mulai cepat ini, jangan hapus sumber daya.

Di Azure, sumber daya merujuk ke aplikasi fungsi, fungsi, akun penyimpanan, dan sebagainya. Sumber daya tersebut dikelompokkan ke dalamgrup sumber daya, dan Anda dapat menghapus semuanya dalam grup dengan menghapus grup.

Anda telah membuat sumber daya untuk menyelesaikan mulai cepat ini. Anda akan ditagihkan untuk sumber daya ini, tergantung pada status akun dan harga layanan Anda. Jika Anda tidak memerlukan sumber daya lagi, berikut cara menghapusnya:

  1. Di portal Azure, buka halaman Gambaran Umum.

    Untuk masuk ke halaman itu dari halaman aplikasi fungsi, pilih tabGambaran Umum lalu pilih tautan di bawah Grup sumber daya.

    Screenshot that shows select the resource group to delete from the function app page.

    Untuk masuk ke halaman itu dari dasbor, pilih Grup sumber daya, lalu pilih grup sumber daya yang Anda gunakan untuk artikel ini.

  2. Di halamanGrup sumber daya, tinjau daftar sumber daya yang disertakan, dan pastikan bahwa sumber daya tersebut adalah sumber daya yang ingin Anda hapus.

  3. Pilih Hapus grup sumber daya, dan ikuti instruksinya.

    Penghapusan mungkin memakan waktu beberapa menit. Setelah selesai, pemberitahuan akan muncul selama beberapa detik. Anda juga dapat memilih ikon bel di bagian atas halaman untuk melihat pemberitahuan.

Langkah berikutnya

Anda telah membuat fungsi yang berjalan saat dokumen ditambahkan atau dimodifikasi di Azure Cosmos DB Anda. Untuk informasi selengkapnya tentang pemicu Azure Cosmos DB, lihat Pengikatan Azure Cosmos DB untuk Azure Functions.

Setelah Anda membuat fungsi pertama, mari kita tambahkan pengikatan output ke fungsi yang menulis pesan ke antrean Storage.