Menggunakan Event Grid untuk pemberitahuan perubahan data App Configuration
Dalam artikel ini, Anda mempelajari cara menggunakan langganan peristiwa Azure App Configuration untuk mengirim peristiwa modifikasi key-value ke titik akhir web. Pengguna Azure App Configuration dapat berlangganan untuk peristiwa yang dihasilkan setiap kali key-value dimodifikasi. Peristiwa ini dapat memicu webhook, Azure Functions, Antrian Azure Storage, atau penanganan aktivitas lainnya yang didukung oleh Azure Event Grid. Biasanya, Anda mengirim peristiwa ke titik akhir yang memproses data peristiwa dan mengambil tindakan. Namun, untuk menyederhanakan artikel ini, Anda mengirim peristiwa ke aplikasi web yang mengumpulkan dan menampilkan pesan.
Prasyarat
- Langganan Azure - Membuat langganan secara gratis. Anda dapat secara opsional menggunakan Azure Cloud Shell.
Menggunakan Azure Cloud Shell
Azure meng-hosting Azure Cloud Shell, lingkungan shell interaktif yang dapat Anda gunakan melalui browser. Anda dapat menggunakan Bash atau PowerShell dengan Cloud Shell untuk bekerja dengan layanan Azure. Anda dapat menggunakan perintah Cloud Shell yang telah diinstal sebelumnya untuk menjalankan kode dalam artikel ini tanpa harus menginstal apa pun di lingkungan lokal Anda.
Untuk memulai Azure Cloud Shell:
| Opsi | Contoh/Tautan |
|---|---|
| Pilih Coba di sudut kanan atas blok kode. Memilih Coba tidak secara otomatis menyalin kode ke Cloud Shell. | ![]() |
| Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. | ![]() |
| Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. | ![]() |
Untuk menjalankan kode dalam artikel ini di Azure Cloud Shell:
Mulai Cloud Shell.
Pilih tombol Salin pada blok kode untuk menyalin kode.
Tempelkan kode ke sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux atau dengan memilih Cmd+Shift+V di macOS.
Pilih Enter untuk menjalankan kode.
Jika Anda memilih untuk memasang dan menggunakan CLI secara lokal, artikel ini mengharuskan Anda menjalankan versi terbaru Azure CLI (2.0.70 atau yang lebih baru). Jalankan az --version untuk mencari versinya. Jika Anda perlu memasang atau meningkatkan versi, lihat Memasang Azure CLI.
Jika Anda tidak menggunakan Cloud Shell, Anda harus masuk terlebih dulu menggunakan az login.
Membuat grup sumber daya
Topik Event Grid merupakan sumber daya Azure, dan harus ditempatkan di grup sumber daya Azure. Grup sumber daya Azure adalah koleksi logis tempat sumber daya Azure disebarkan dan dikelola.
Buat grup sumber daya dengan perintah az group create.
Contoh berikut ini membuat grup sumber daya bernama <resource_group_name> di lokasi westus. Ganti <resource_group_name> dengan nama unik untuk grup sumber daya Anda.
az group create --name <resource_group_name> --location westus
Membuat penyimpanan App Configuration
Ganti <appconfig_name> dengan nama unik untuk akun penyimpanan Anda, dan <resource_group_name> dengan grup sumber daya yang Anda buat sebelumnya. Nama harus unik karena digunakan sebagai nama DNS.
az appconfig create \
--name <appconfig_name> \
--location westus \
--resource-group <resource_group_name> \
--sku free
Membuat titik akhir pesan
Sebelum berlangganan topik, mari kita buat titik akhir untuk pesan peristiwa tersebut. Biasanya, titik akhir mengambil tindakan berdasarkan data peristiwa. Untuk menyederhanakan mulai cepat ini, sebarkan aplikasi web bawaan yang menampilkan pesan peristiwa. Solusi yang disebarkan mencakup paket App Service, aplikasi web App Service, dan kode sumber dari GitHub.
Ganti <your-site-name> dengan nama unik untuk aplikasi web Anda. Nama aplikasi web harus unik karena merupakan bagian dari entri DNS.
$sitename=<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=$sitename hostingPlanName=viewerhost
Diperlukan beberapa menit untuk menyelesaikan penyebaran. Setelah penyebaran berhasil, lihat aplikasi web Anda untuk memastikannya berjalan. Pada browser web, navigasi ke: https://<your-site-name>.azurewebsites.net
Anda akan melihat situs tanpa pesan yang ditampilkan.
Aktifkan penyedia sumber daya Event Grid
Jika sebelumnya Anda belum menggunakan Event Grid di langganan Azure, Anda mungkin perlu mendaftarkan penyedia sumber daya Event Grid. Jalankan perintah berikut untuk mendaftarkan penyedia:
az provider register --namespace Microsoft.EventGrid
Mungkin perlu beberapa saat agar pendaftaran selesai. Untuk memeriksa status, jalankan:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Saat registrationState telah Registered, Anda siap untuk melanjutkan.
Berlangganan ke penyimpanan App Configuration Anda
Anda berlangganan topik untuk memberi tahu Event Grid peristiwa apa yang ingin Anda lacak dan tempat untuk mengirim peristiwa tersebut. Contoh berikut ini berlangganan App Configuration yang Anda buat, dan meneruskan URL dari aplikasi web Anda sebagai titik akhir untuk pemberitahuan peristiwa. Ganti <event_subscription_name> dengan nama untuk langganan peristiwa Anda. Untuk <resource_group_name> dan <appconfig_name>, gunakan nilai yang Anda buat sebelumnya.
Titik akhir untuk aplikasi web Anda harus menyertakan akhiran /api/updates/.
appconfigId=$(az appconfig show --name <appconfig_name> --resource-group <resource_group_name> --query id --output tsv)
endpoint=https://$sitename.azurewebsites.net/api/updates
az eventgrid event-subscription create \
--source-resource-id $appconfigId \
--name <event_subscription_name> \
--endpoint $endpoint
Lihat kembali aplikasi web Anda, dan perhatikan bahwa peristiwa validasi langganan telah dikirim ke aplikasi web. Pilih ikon mata untuk memperluas data peristiwa. Event Grid mengirimkan peristiwa validasi sehingga titik akhir dapat memverifikasi bahwa Event Grid ingin menerima data peristiwa. Aplikasi web menyertakan kode untuk memvalidasi langganan.

Memicu peristiwa App Configuration
Sekarang, mari kita picu peristiwa untuk melihat cara Event Grid mendistribusikan pesan ke titik akhir Anda. Buat key-value menggunakan <appconfig_name> dari yang sebelumnya.
az appconfig kv set --name <appconfig_name> --key Foo --value Bar --yes
Anda telah memicu peristiwanya, dan Event Grid telah mengirim pesan ke titik akhir yang Anda konfigurasi saat berlangganan. Lihat aplikasi web Anda untuk melihat kejadian yang baru saja Anda kirim.
[{
"id": "deb8e00d-8c64-4b6e-9cab-282259c7674f",
"topic": "/subscriptions/{subscription-id}/resourceGroups/eventDemoGroup/providers/microsoft.appconfiguration/configurationstores/{appconfig-name}",
"subject": "https://{appconfig-name}.azconfig.io/kv/Foo",
"data": {
"key": "Foo",
"etag": "a1LIDdNEIV6wCnfv3xaip7fMXD3",
"syncToken":"zAJw6V16=Njo1IzMzMjE3MzA=;sn=3321730"
},
"eventType": "Microsoft.AppConfiguration.KeyValueModified",
"eventTime": "2019-05-31T18:59:54Z",
"dataVersion": "1",
"metadataVersion": "1"
}]
Membersihkan sumber daya
Jika Anda berencana untuk terus bekerja dengan App Configuration dan langganan peristiwa ini, jangan bersihkan sumber daya yang dibuat dalam artikel ini. Jika Anda tidak berencana untuk melanjutkan, gunakan perintah berikut untuk menghapus sumber daya yang Anda buat dalam artikel ini.
Ganti <resource_group_name> dengan grup sumber daya yang Anda buat di atas.
az group delete --name <resource_group_name>
Langkah berikutnya
Setelah Anda mengetahui cara membuat topik dan langganan peristiwa, pelajari selengkapnya tentang peristiwa key-value dan Event Grid apa yang dapat membantu Anda:


