Bagikan melalui


Mengirim peristiwa dari API Management ke Event Grid

BERLAKU UNTUK: Konsumsi | Pengembang | Dasar | Standar | Premi

API Management terintegrasi dengan Azure Event Grid sehingga Anda dapat mengirim notifikasi kejadian ke layanan lain dan memicu proses hilir. Event Grid adalah layanan perutean kejadian dikelola penuh yang menggunakan model terbitkan-berlangganan. Event Grid memiliki dukungan bawaan untuk layanan Azure seperti Azure Functions dan Azure Logic Apps, dan dapat memberikan pemberitahuan kejadian ke layanan non-Azure menggunakan webhook.

Misalnya, dengan menggunakan integrasi dengan Event Grid, Anda dapat membuat aplikasi yang memperbarui database, membuat akun tagihan, dan mengirimkan pemberitahuan email setiap kali pengguna ditambahkan ke instans API Management Anda.

Pada artikel ini, Anda berlangganan kejadian Event Grid dalam instans API Management Anda, memicu kejadian, dan mengirim kejadian ke titik akhir yang memproses data. Sederhananya, Anda mengirim kejadian ke aplikasi web yang mengumpulkan dan menampilkan pesan:

Kejadian API Management di penampil Event Grid

Prasyarat

Membuat titik akhir peristiwa

Di bagian ini, Anda menggunakan templat Resource Manager untuk menyebarkan sampel aplikasi web yang dibuat sebelumnya ke Azure App Service. Kemudian, Anda berlangganan kejadian Event Grid dari instans API Management Anda dan menetapkan aplikasi ini sebagai titik akhir ke mana kejadian tersebut dikirim.

Untuk menyebarkan aplikasi sampel, Anda dapat menggunakan Azure CLI, Azure PowerShell, atau portal Microsoft Azure. Contoh berikut menggunakan perintah az deployment group create di Azure CLI.

  • Atur RESOURCE_GROUP_NAME ke nama grup sumber daya yang ada

  • Atur SITE_NAME ke nama unik aplikasi web Anda

    Nama situs harus unik dalam Azure karena membentuk sebagian dari nama domain yang sepenuhnya memenuhi syarat (FQDN) dari aplikasi web. Di bagian selanjutnya, Anda menuju ke FQDN aplikasi di browser web untuk melihat kejadian.

RESOURCE_GROUP_NAME=<your-resource-group-name>
SITE_NAME=<your-site-name>

az deployment group create \
    --resource-group $RESOURCE_GROUP_NAME \
    --template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" \
    --parameters siteName=$SITE_NAME hostingPlanName=$SITE_NAME-plan

Setelah penyebaran berhasil (mungkin perlu beberapa menit), buka browser dan navigasikan ke aplikasi web Anda untuk memastikannya berjalan:

https://<your-site-name>.azurewebsites.net

Anda akan melihat contoh aplikasi yang dirender tanpa pesan kejadian yang ditampilkan.

Mendaftarkan penyedia sumber Event Grid

Kecuali jika Event Grid telah digunakan sebelumnya, Anda harus mendaftarkan penyedia sumber daya Event Grid. Jika Anda pernah menggunakan Event Grid sebelumnya, lewati ke bagian berikutnya.

Di portal Azure, lakukan langkah-langkah berikut:

  1. Di menu sebelah kiri, pilih Langganan.

  2. Pilih langganan yang ingin Anda gunakan untuk Event Grid dari daftar langganan.

  3. Pada halaman Langganan, pilih Penyedia sumber pada bagian Pengaturan di menu sebelah kiri.

  4. Cari Microsoft.EventGrid, dan konfirmasikan bahwa StatusTidak Terdaftar.

  5. Pilih Microsoft.EventGrid dalam daftar penyedia.

  6. Pilih Daftar pada bilah perintah.

    Gambar yang menampilkan registrasi penyedia Microsoft.EventGrid dengan langganan Azure.

  7. Refresh untuk memastikan status Microsoft.EventGrid diubah menjadi Terdaftar.

    Gambar yang menampilkan registrasi berhasil penyedia Microsoft.EventGrid dengan langganan Azure.

Berlangganan kejadian API Management

Di Event Grid, Anda berlangganan topik untuk menentukan peristiwa yang ingin Anda lacak, dan tempat untuk mengirim peristiwa. Di sini, Anda membuat langganan ke kejadian di instans API Management Anda.

  1. Di Portal Microsoft Azure, navigasikan ke instans API Management Anda.

  2. Pilih Peristiwa > + Langganan Peristiwa.

  3. Pada tab Dasar:

    • Masukkan Nama deskriptif untuk langganan kejadian.
    • Di Jenis Kejadian, pilih satu atau beberapa jenis kejadian API Management untuk dikirim ke Event Grid. Untuk contoh dalam artikel ini, pilih setidaknya Microsoft.APIManagement.ProductCreated
    • Di Detail Titik Akhir, pilih jenis kejadian Web Hook, klik Pilih titik akhir, dan masukkan URL aplikasi web Anda diikuti dengan api/updates. Contoh: https://myapp.azurewebsites.net/api/updates.
    • Pilih Konfirmasi pilihan.
  4. Biarkan pengaturan pada tab yang tersisa pada nilai defaultnya, lalu pilih Buat.

    Membuat langganan kejadian di portal Microsoft Azure

Memicu dan melihat kejadian

Sekarang setelah aplikasi sampel aktif dan berjalan dan Anda telah berlangganan instans API Management Anda dengan Event Grid, Anda siap untuk membuat kejadian.

Sebagai contoh, buat produk dalam instans API Management Anda. Jika langganan kejadian Anda menyertakan kejadian Microsoft.APIManagement.ProductCreated, pembuatan produk akan memicu kejadian yang didorong ke titik akhir aplikasi web Anda.

Buka aplikasi web Penampil Event Grid, dan Anda akan melihat kejadian ProductCreated. Pilih tombol di samping kejadian untuk menampilkan detailnya.

Kejadian yang dibuat produk di penampil Event Grid

Skema peristiwa Event Grid

Data kejadian API Management mencakup resourceUri, yang mengidentifikasi sumber daya API Management yang memicu kejadian. Untuk detail tentang skema pesan kejadian API Management, lihat dokumentasi Event Grid:

Skema kejadian Azure Event Grid untuk API Management

Langkah berikutnya