Jalankan kode Anda sesuai permintaan dengan Azure Functions

Selesai

Sekarang setelah kita membuat aplikasi fungsi, mari kita lihat cara membangun, mengonfigurasi, dan menjalankan fungsi. Kami akan menjalankan fungsi kami di latihan berikutnya, sehingga Anda tidak perlu menyelesaikan tugas apa pun di unit ini.

Pemicu

Fungsi digerakkan oleh peristiwa, yang berarti dijalankan sebagai respons terhadap suatu peristiwa. Jenis peristiwa yang memulai fungsi disebut pemicu. Setiap fungsi harus dikonfigurasi dengan tepat satu pemicu.

Anda dapat memicu eksekusi fungsi dengan menggunakan permintaan HTTP, timer terjadwal, dan peristiwa dari layanan Azure berikut:

Layanan Azure Deskripsi pemicu
Blob Storage Memulai fungsi ketika blob baru atau diperbarui terdeteksi.
Azure Cosmos DB Memulai fungsi ketika menyisipkan dan pembaruan terdeteksi.
Event Grid Memulai fungsi saat peristiwa diterima dari Event Grid.
Pusat Aktivitas Memulai fungsi saat peristiwa diterima dari Azure Event Hubs.
Queue Storage Memulai fungsi saat item baru diterima pada antrean. Pesan antrean disediakan sebagai masukan ke fungsi.
Bus Layanan Memulai fungsi sebagai respons terhadap pesan dari antrean Service Bus.

Pengikatan

Pengikatan adalah cara deklaratif untuk menghubungkan data dan layanan ke fungsi Anda. Pengikatan berinteraksi dengan berbagai sumber data, yang berarti Anda tidak perlu menulis kode di fungsi untuk menghubungkan ke sumber data dan mengelola koneksi. Platform ini mengurus kompleksitas untuk Anda sebagai bagian dari kode pengikatan. Setiap pengikatan memiliki arah: Kode Anda membaca data dari pengikatan input , dan menulis data ke pengikatan output . Setiap fungsi dapat memiliki pengikatan nol atau lebih untuk mengelola data input dan output yang diproses oleh fungsi.

Pemicu adalah jenis pengikatan input yang memiliki kemampuan untuk memulai eksekusi beberapa kode.

Azure menyediakan sejumlah besar pengikatan untuk terhubung ke layanan penyimpanan dan olahpesan yang berbeda.

Menentukan pengikatan sampel

Mari kita lihat contoh mengonfigurasi fungsi dengan pengikatan input (pemicu) dan pengikatan output. Katakanlah kita ingin menulis baris baru ke penyimpanan Azure Table setiap kali pesan baru muncul di Azure Queue Storage. Skenario ini dapat diimplementasikan menggunakan pemicu "Azure Queue Storage" dan pengikatan output "Azure Table Storage".

Cuplikan berikut adalah file function.json untuk skenario ini.

{
  "bindings": [
    {
      "name": "order",
      "type": "queueTrigger",
      "direction": "in",
      "queueName": "myqueue-items",
      "connection": "MY_STORAGE_ACCT_APP_SETTING"
    },
    {
      "name": "$return",
      "type": "table",
      "direction": "out",
      "tableName": "outTable",
      "connection": "MY_TABLE_STORAGE_ACCT_APP_SETTING"
    }
  ]
}

Konfigurasi JSON kami menentukan bahwa fungsi kami dipicu saat pesan ditambahkan ke antrean bernama myqueue-items. Nilai pengembalian fungsi kami kemudian ditulis ke outTable di penyimpanan Azure Table.

Untuk fungsi PowerShell, pengikatan output secara eksplisit ditulis dengan Push-OutputBinding cmdlet.

Contoh ini adalah ilustrasi sederhana tentang cara kami mengonfigurasi pengikatan untuk sebuah fungsi. Kita dapat mengubah output menjadi email menggunakan pengikatan SendGrid, atau menempatkan peristiwa ke Bus Layanan untuk memberi tahu beberapa komponen lain dalam arsitektur kita. Kita bahkan dapat memiliki beberapa pengikatan output untuk mendorong data ke berbagai layanan.

Petunjuk / Saran

Untuk melihat dan mengedit konten function.json di portal Microsoft Azure, dari halaman Beranda, pilih aplikasi fungsi Anda, dan di panel pilih Tampilan JSON. Tampilan JSON Sumber Daya menampilkan ID Sumber Daya dan kode JSON yang dapat diedit. Untuk menutup tampilan JSON, pilih X di sudut kanan atas panel.

Tidak semua bahasa yang didukung oleh Functions menggunakan file function.json untuk menentukan fungsi.

Membuat aplikasi Functions di portal Azure

Azure Functions memiliki templat fungsi yang telah ditentukan sebelumnya, yang didasarkan pada jenis pemicu tertentu. Templat ini, dalam bahasa yang Anda pilih, memudahkan untuk mulai membuat fungsi pertama Anda.

Modul ini tidak didukung untuk semua bahasa yang didukung oleh Functions, dan portal itu sendiri tidak mendukung pembuatan fungsi dalam semua bahasa yang didukung oleh Functions.

Untuk bahasa yang didukung yang menggunakan file function.json untuk menentukan fungsi, Anda dapat membuat dan mengedit fungsi-fungsi ini langsung di portal Azure. Bahasa yang didukung portal ini meliputi: JavaScript, PowerShell, Python, dan C# Script (.csx). Bahasa yang menentukan fungsi langsung dalam kode itu sendiri harus dikembangkan di luar portal dan disebarkan ke Azure. Bahasa yang didukung nonportal ini meliputi: C#, Java, Python (model pemrograman v2), dan JavaScript/TypeScript (Node.js model pemrograman v4).

Templat fungsi

Saat membuat fungsi pertama di portal, Anda dapat memilih pemicu yang telah ditentukan sebelumnya untuk fungsi Anda. Berdasarkan pilihan Anda, Azure menghasilkan kode default dan informasi konfigurasi, seperti membuat entri log peristiwa saat data input diterima.

Memilih templat dari panel Tambahkan fungsi menyediakan akses mudah ke lingkungan pengembangan, pemicu, dan dependensi yang paling umum. Saat membuat fungsi di portal Azure, Anda dapat memilih dari lebih dari 20 templat. Setelah dibuat, Anda dapat menyesuaikan kode lebih lanjut.

Saat Anda membuat fungsi dari templat, beberapa file dibuat, termasuk file konfigurasi, function.json, dan file kode sumber, index.js.

Anda dapat membuat atau mengedit fungsi untuk aplikasi fungsi Anda dengan memilih Functions di bawah kategori Functions dari menu Aplikasi Fungsi.

Saat Anda memilih fungsi yang dibuat di aplikasi fungsi Anda, panel Fungsi terbuka. Dengan memilih Kode + Uji dari menu Fungsi, Anda memiliki akses ke tindakan di bilah perintah untuk menguji dan menjalankan kode, untuk menyimpan atau membuang perubahan yang Anda buat, atau untuk mendapatkan URL yang diterbitkan. Dengan memilih Uji/Jalankan dari bilah perintah, Anda dapat menjalankan kasus penggunaan untuk permintaan yang menyertakan string dan nilai kueri. Jalur fungsi di atas kotak kode menampilkan nama file yang terbuka. Anda dapat memilih file tertentu dari dropdown untuk menguji atau mengedit, misalnya, function.json.

Cuplikan layar kode fungsi dan editor pengujian memperlihatkan tampilan Uji/Jalankan yang diperluas, dengan opsi menu disorot.

Pada gambar sebelumnya, panel memiliki tab Input dan Output . Memilih tab Input memungkinkan Anda membuat dan menguji fungsi dengan menambahkan parameter kueri dan menyediakan nilai untuk string kueri Anda. Tab Output menampilkan hasil permintaan.

Menguji fungsi Azure Anda

Setelah membuat fungsi di portal, Anda harus mengujinya. Ada dua pendekatan:

  • Mengujinya di portal
  • Menjalankannya secara manual

Pengujian di portal Azure

Portal ini juga menyediakan cara yang mudah untuk menguji fungsi Anda. Seperti yang dijelaskan sebelumnya dalam cuplikan layar, Anda bisa memilih Jalankan di panel ini. Hasilnya secara otomatis muncul di tab Output , dan panel Log terbuka untuk menampilkan status.

Menjalankan fungsi secara manual

Anda dapat memulai fungsi dengan memicu pemicu yang dikonfigurasi secara manual. Misalnya, jika Anda menggunakan pemicu HTTP, Anda dapat menggunakan alat pengujian HTTP ini untuk memulai permintaan HTTP ke URL titik akhir fungsi Anda:

Perhatian

Untuk skenario di mana Anda memiliki data sensitif, seperti kredensial, rahasia, token akses, kunci API, dan informasi serupa lainnya, pastikan untuk menggunakan alat yang melindungi data Anda. Sertakan fitur keamanan yang diperlukan, alat yang berfungsi offline atau lokal, tidak menyinkronkan data Anda ke cloud, dan tidak mengharuskan Anda masuk ke akun online. Dengan cara ini, Anda mengurangi risiko sekeliling mengekspos data sensitif ke publik.

Anda bisa mendapatkan titik akhir URL pemicu HTTP dengan memilih Dapatkan URL fungsi dari halaman definisi fungsi di portal.

Dasbor Pemantauan dan Application Insights

Kemampuan untuk memantau fungsi Anda sangat penting selama pengembangan dan produksi. Portal Azure menyediakan dasbor pemantauan, yang Anda aktifkan dengan mengaktifkan integrasi Application Insights. Di menu Aplikasi Fungsi, di bawah Pengaturan, pilih Application Insights, pilih Aktifkan Application Insights, lalu pilih Terapkan. Dalam kotak dialog, pilih Ya. Dasbor Application Insights menyediakan cara cepat untuk melihat riwayat operasi fungsi dengan menampilkan stempel waktu, kode hasil, durasi, dan ID operasi yang diisi oleh Application Insights.

Cuplikan layar memperlihatkan dasbor Application Insights fungsi HTTP dengan hasil fungsi, kode status HTTP terkait, dan item menu Pemantauan disorot.

Panel log streaming

Setelah mengaktifkan Application Insights di portal Azure, Anda dapat menambahkan pernyataan pengelogan ke fungsi untuk penelusuran kesalahan. Metode yang dipanggil untuk setiap bahasa dilewatkan objek "pengelogan", yang dapat digunakan untuk menambahkan informasi log ke panel Log di panel Kode + Uji saat menjalankan pengujian.

Tulis ke log dari kode Anda menggunakan log metode pada objek, yang diteruskan context ke handler. Contoh berikut menulis ke tingkat log default (informasi):

context.log('Enter your logging statement here');

Tulis ke log dari kode Anda menggunakan Write-Host cmdlet, seperti yang ditunjukkan dalam contoh berikut:

Write-Host "Enter your logging statement here"

Kesalahan, kegagalan, peringatan, dan anomali

Anda dapat menggunakan Metrik atau opsi dari kategori Selidiki di menu Fungsi untuk memantau performa, mendiagnosis kegagalan, atau mengonfigurasi puluhan buku kerja yang telah ditentukan sebelumnya untuk mengelola aplikasi fungsi Anda. Semuanya mulai dari kesalahan kompilasi dan peringatan dalam kode, hingga statistik penggunaan berdasarkan peran.