Event Grid Blob Trigger untuk Fungsi Azure

Artikel ini menunjukkan cara men-debug dan menyebarkan fungsi dipicu Event Grid Blob lokal yang menangani peristiwa yang dimunculkan oleh akun penyimpanan.

Catatan

Event Grid Blob trigger sedang dipratinjau.

Prasyarat

Buat fungsi baru

  1. Buka aplikasi fungsi Anda di Visual Studio Code.

  2. Tekan F1 untuk membuat fungsi pemicu blob baru. Pastikan untuk menggunakan string koneksi untuk akun penyimpanan Anda.

  3. Url default untuk event grid blob trigger Anda adalah:

    http://localhost:7071/runtime/webhooks/blobs?functionName={functionname}
    

    Perhatikan nama aplikasi fungsi Anda dan bahwa jenis trigger adalah blob trigger, yang ditunjukkan oleh blobs di url. Ini akan diperlukan saat menyiapkan titik akhir nantinya dalam cara memandu.

  4. Setelah fungsi dibuat, tambahkan parameter sumber Event Grid.

    Tambahkan Sumber = BlobTriggerSource.EventGrid ke parameter fungsi.

    [FunctionName("BlobTriggerCSharp")]
    public static void Run([BlobTrigger("samples-workitems/{name}", Source = BlobTriggerSource.EventGrid, Connection = "connection")]Stream myBlob, string name, ILogger log)
    {
        log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
    }
    
  5. Atur titik henti dalam fungsi Anda pada garis yang menangani logging.

  6. Mulai sesi debugging.

    Tekan F5 untuk memulai sesi debugging.

Perbolehkan Azure memanggil fungsi lokal Anda

Untuk membobol fungsi yang sedang ditelusur kesalahannya di komputer, Anda harus mengaktifkan cara agar Azure dapat berkomunikasi dengan fungsi lokal Anda dari cloud.

Utilitas ngrok menyediakan cara bagi Azure untuk memanggil fungsi yang berjalan di komputer Anda. Mulai ngrok menggunakan perintah berikut:

ngrok http -host-header=localhost 7071

Saat utilitas diatur, jendela perintah akan terlihat mirip dengan tangkapan layar berikut:

Cuplikan layar yang memperlihatkan Prompt Perintah setelah memulai utilitas "ngrok".

Salin URL HTTPS yang dihasilkan ketika ngrok dijalankan. Nilai ini digunakan saat mengonfigurasi titik akhir peristiwa kisi kejadian.

Menambahkan kejadian penyimpanan

  1. Buka portal Microsoft Azure dan navigasi ke akun penyimpanan Anda dan pilih opsi Kejadian dari menu kiri.

    Tambahkan Disk Akun Penyimpanan

  2. Di jendela Kejadian, pilih tombol Langganan Kejadian.

  3. Di jendela Langganan Kejadian, pilih menu geser turun Jenis Titik Akhir lalu pilih Web Hook.

    Pilih jenis langganan

  4. Setelah jenis titik akhir dikonfigurasi, klik Pilih titik akhir untuk mengonfigurasi nilai titik akhir.

    Pilih jenis titik akhir

    Nilai Titik Akhir Pelanggan terdiri dari tiga nilai berbeda. Buka URL HTTPS yang dihasilkan oleh ngrok. Sisa URL berasal dari URL localhost yang disalin sebelumnya dalam cara memandu, dengan nama fungsi ditambahkan di akhir. Dimulai dengan URL localhost, URL ngrok menggantikan http://localhost:7071 dan nama fungsi menggantikan {functionname}.

  5. Cuplikan layar berikut ini memperlihatkan contoh bagaimana URL akhir akan terlihat saat menggunakan jenis Event Grid pemicu.

    Pemilihan titik akhir

  6. Setelah Anda memasukkan nilai yang sesuai, klik Konfirmasi Pilihan.

Penting

Setiap kali Anda memulai ngrok, URL HTTPS dihasilkan kembali dan nilai berubah. Oleh karena itu Anda harus membuat Langganan Kejadian baru setiap kali Anda mengekspos fungsi Anda ke Azure melalui ngrok.

Unggah file

Sekarang Anda dapat mengunggah file ke akun penyimpanan Anda untuk memicu peristiwa Kisi Kejadian agar fungsi lokal Anda dapat ditangani.

Buka Storage Explorer dan sambungkan ke akun penyimpanan Anda.

  • Perluas Kontainer Blob
  • Klik kanan dan pilih Buat Kontainer Blob.
  • Beri nama sampel kontainer-workitems
  • Selanjutnya, buat kontainer samples-workitems
  • Klik tombol Unggah
  • Klik Unggah File
  • Pilih file dan unggah ke kontainer blob

Debug fungsi

Setelah Blob Trigger mengakui file baru diunggah ke kontainer penyimpanan, titik henti terjadi di fungsi lokal Anda.

Penyebaran

Saat Anda menyebarkan aplikasi fungsi ke Azure, perbarui titik akhir webhook dari titik akhir lokal Anda ke titik akhir aplikasi yang disebarkan. Untuk memperbarui titik akhir, ikuti langkah-langkah di Tambahkan peristiwa penyimpanan dan menggunakan di bawah ini untuk URL webhook di langkah 5. <BLOB-EXTENSION-KEY> dapat ditemukan di bagian Kunci Aplikasi dari menu kiri Aplikasi Fungsi Anda.

https://<FUNCTION-APP-NAME>.azurewebsites.net/runtime/webhooks/blobs?functionName=<FUNCTION-NAME>&code=<BLOB-EXTENSION-KEY>

Membersihkan sumber daya

Untuk membersihkan sumber daya yang dibuat di artikel ini, hapus langganan kisi peristiwa yang Anda buat dalam tutorial ini.

Langkah berikutnya