Cara menggunakan pemicu dan pengikatan Event Grid di Azure Functions
Azure Functions menyediakan integrasi bawaan dengan Azure Event Grid menggunakan pemicu dan pengikatan. Artikel ini menunjukkan cara mengonfigurasi dan mengevaluasi pemicu dan pengikat Event Grid secara lokal. Untuk informasi selengkapnya mengenai definisi dan contoh pemicu dan pengikatan output Event Grid, lihat salah satu artikel referensi berikut:
- Gambaran Umum pengikatan Azure Event Grid
- Pemicu Azure Event Grid untuk Azure Functions
- Pengikatan output Azure Event Grid untuk Azure Functions
Membuat langganan peristiwa
Untuk mulai menerima permintaan HTTP Event Grid, Anda memerlukan langganan ke peristiwa yang dimunculkan oleh Event Grid. Langganan peristiwa menentukan URL titik akhir yang memanggil fungsi. Saat Anda membuat langganan peristiwa dari tab Integrasi fungsi Anda di portal Azure, URL akan disediakan untuk Anda. Saat membuat langganan peristiwa secara terprogram atau saat membuat langganan peristiwa dari Event Grid, Anda harus menyediakan titik akhir. URL titik akhir berisi kunci sistem, yang harus Anda peroleh dari REST API administrator Functions.
Mendapatkan URL titik akhir webhook
Titik akhir URL untuk fungsi yang dipicu Event Grid Anda bergantung pada versi runtime Functions. Contoh berikut menunjukkan pola URL spesifik versi:
https://{functionappname}.azurewebsites.net/runtime/webhooks/eventgrid?functionName={functionname}&code={systemkey}
Catatan
Ada versi pemicu penyimpanan Blob yang juga menggunakan langganan peristiwa. URL titik akhir untuk pemicu penyimpanan Blob semacam ini memiliki jalur /runtime/webhooks/blobs
, sedangkan jalur untuk pemicu Event Grid adalah /runtime/webhooks/EventGrid
. Untuk perbandingan opsi untuk memproses blob, lihat Pemicu pada kontainer blob.
Mendapatkan kunci sistem
Titik akhir URL yang Anda buat menyertakan nilai kunci sistem. Kunci sistem adalah kunci otorisasi, khusus untuk webhook Event Grid, yang harus disertakan dalam permintaan ke URL titik akhir untuk pemicu Event Grid. Bagian berikut menjelaskan cara mendapatkan kunci sistem.
Anda juga bisa mendapatkan kunci master untuk aplikasi fungsi Anda dari kunci Aplikasi Functions> di portal.
Perhatian
Kunci master menyediakan akses administrator ke aplikasi fungsi Anda. Jangan bagikan kunci ini dengan pihak ketiga atau distribusikan dalam aplikasi klien asli.
Untuk informasi selengkapnya, lihat Bekerja dengan kunci akses di Azure Functions.
Anda bisa mendapatkan kunci sistem dari aplikasi fungsi Anda dengan menggunakan API administrator berikut (HTTP GET):
http://{functionappname}.azurewebsites.net/admin/host/systemkeys/eventgrid_extension?code={masterkey}
REST API ini adalah API administrator, sehingga memerlukan kunci master aplikasi fungsi Anda. Jangan membingungkan tombol sistem (untuk memanggil fungsi pemicu Event Grid) dengan kunci master (untuk melakukan tugas administratif pada aplikasi fungsi). Saat Anda berlangganan topik Event Grid, pastikan untuk menggunakan kunci sistem.
Berikut adalah contoh respons yang menyediakan kunci sistem:
{
"name": "eventgridextensionconfig_extension",
"value": "{the system key for the function}",
"links": [
{
"rel": "self",
"href": "{the URL for the function, without the system key}"
}
]
}
Membuat langganan
Anda dapat membuat langganan peristiwa, baik dari portal Azure maupun dengan Azure CLI.
Untuk fungsi yang Anda kembangkan di portal Azure dengan pemicu Event Grid, pilih Integrasi lalu pilih Pemicu Event Grid dan pilih Buat langganan Event Grid.
Saat Anda memilih tautan ini, portal akan membuka halaman Buat Langganan Peristiwa dengan titik akhir pemicu saat ini yang sudah ditentukan.
Untuk informasi selengkapnya tentang cara membuat langganan dengan menggunakan portal Azure, lihat Membuat peristiwa kustom - Portal Azure di dokumentasi Event Grid.
Untuk informasi selengkapnya tentang cara membuat langganan, lihat mulai cepat penyimpanan blob atau mulai cepat Event Grid lainnya.
Pengujian lokal dengan aplikasi web pemirsa
Untuk menguji pemicu Event Grid secara lokal, Anda harus mendapatkan permintaan HTTP Event Grid yang dikirim dari asalnya di cloud ke mesin lokal Anda. Salah satu cara untuk melakukannya adalah dengan menangkap permintaan secara online dan mengirim ulang secara manual pada mesin lokal Anda:
- Buat aplikasi web penampil yang merekam pesan peristiwa.
- Buat langganan Event Grid yang mengirim peristiwa ke aplikasi penonton.
- Buat permintaan dan salin isi permintaan dari aplikasi penonton.
- Kirim permintaan secara manual ke URL localhost dari fungsi pemicu Event Grid Anda.
Untuk mengirim permintaan posting HTTP, Anda memerlukan alat uji HTTP. Pastikan untuk memilih alat yang menjaga keamanan data Anda. Untuk informasi selengkapnya, lihat Alat pengujian HTTP.
Setelah selesai menguji, Anda bisa menggunakan langganan yang sama untuk produksi dengan memperbarui titik akhir. Gunakan perintah Azure CLI az eventgrid event-subscription update
.
Membuat aplikasi web penampil
Untuk menyederhanakan penangkapan pesan peristiwa, Anda dapat menerapkan aplikasi web bawaan yang menampilkan pesan peristiwa. Solusi yang disebarkan mencakup rencana App Service, aplikasi web App Service, dan kode sumber dari GitHub.
Pilih Sebarkan ke Azure untuk menyebarkan solusi ke langganan Anda. Di portal Microsoft Azure, berikan nilai untuk parameter.
Perlu beberapa menit untuk menyelesaikan penyebaran. Setelah penyebaran berhasil, lihat aplikasi web Anda untuk memastikannya berjalan. Di browser web, navigasi ke: https://<your-site-name>.azurewebsites.net
Anda melihat situs tetapi belum ada peristiwa yang diposting ke situs tersebut.
Buat langganan Event Grid
Buat langganan Event Grid dari jenis yang ingin Anda uji, dan berikan URL dari aplikasi web Anda sebagai titik akhir untuk pemberitahuan peristiwa. Titik akhir untuk aplikasi web Anda harus menyertakan akhiran /api/updates/
. Jadi, URL lengkapnya adalah https://<your-site-name>.azurewebsites.net/api/updates
Untuk informasi selengkapnya tentang cara membuat langganan dengan menggunakan portal Azure, lihat Membuat peristiwa kustom - Portal Azure di dokumentasi Event Grid.
Membuat permintaan
Picu peristiwa yang akan menghasilkan lalu lintas HTTP ke titik akhir aplikasi web Anda. Misalnya, jika Anda membuat langganan penyimpanan gumpalan, unggah atau hapus gumpalan. Saat permintaan muncul di aplikasi web Anda, salin isi permintaan.
Permintaan validasi langganan akan diterima terlebih dahulu; mengabaikan permintaan validasi apa pun, dan menyalin permintaan peristiwa.
Mengirim permintaan secara manual
Menjalankan fungsi Event Grid Anda secara lokal. Header Content-Type
dan aeg-event-type
harus diatur secara manual, sementara dan semua nilai lainnya dapat dibiarkan sebagai default.
Gunakan alat uji HTTP Anda untuk membuat permintaan HTTP POST:
Mengatur
Content-Type: application/json
header.Mengatur
aeg-event-type: Notification
header.Tempelkan data RequestBin ke dalam isi permintaan.
Kirim permintaan HTTP POST ke titik akhir yang memulai pemicu Event Grid secara manual.
Parameter functionName
harus nama yang ditentukan dalam FunctionName
atribut.
Fungsi pemicu Event Grid dijalankan dan memperlihatkan log yang mirip dengan contoh berikut:
Langkah berikutnya
Untuk mempelajari selengkapnya Event Grid dengan Functions, lihat artikel berikut: