Bagikan melalui


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

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-apa di lingkungan lokal Anda.

Untuk memulai Azure Cloud Shell:

Opsi Contoh/Tautan
Pilih Coba di pojok kanan atas blok kode atau perintah. Memilih Coba tidak otomatis menyalin kode atau perintah ke Cloud Shell. Cuplikan layar yang menunjukkan contoh Try It for Azure Cloud Shell.
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. Tombol untuk meluncurkan Azure Cloud Shell.
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. Cuplikan layar yang menunjukkan tombol Cloud Shell di portal Azure

Untuk menggunakan Azure Cloud Shell:

  1. Mulai Cloud Shell.

  2. Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.

  3. Tempel kode atau perintah ke dalam sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux, atau dengan memilih Cmd+Shift+V di macOS.

  4. Pilih Masukkan untuk menjalankan kode atau perintah.

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 tahu versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.

Jika Anda tidak menggunakan Cloud Shell, Anda harus masuk terlebih dulu menggunakan az login.

Buat 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 Azure 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

Buat titik akhir pesan

Sebelum berlangganan topik, mari kita buat titik akhir untuk pesan peristiwa tersebut. Biasanya, titik akhir mengambil tindakan berdasarkan data kejadian. Untuk menyederhanakan mulai cepat ini, sebarkan aplikasi web bawaan yang menampilkan pesan peristiwa. Solusi yang disebarkan mencakup rencana 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

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 akan melihat situs tersebut tanpa ada pesan yang ditampilkan.

Aktifkan penyedia sumber daya Event Grid

  1. Jika ini pertama kalinya Anda 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
    
  2. Mungkin perlu beberapa saat agar pendaftaran selesai. Untuk memeriksa status, jalankan perintah berikut:

    az provider show --namespace Microsoft.EventGrid --query "registrationState"
    

    Saat registrationState adalah Registered, Anda siap untuk melanjutkan.

Berlangganan ke penyimpanan App Configuration Anda

Anda berlangganan topik untuk memberi tahu Event Grid peristiwa mana yang ingin Anda lacak dan tempat 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 kejadian 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 lagi aplikasi web Anda, dan perhatikan bahwa peristiwa validasi langganan telah dikirim ke sana. Pilih ikon mata untuk meluaskan data peristiwa. Event Grid mengirimkan peristiwa validasi sehingga titik akhir dapat memverifikasi bahwa ia ingin menerima data peristiwa. Aplikasi web menyertakan kode untuk memvalidasi langganan.

Lihat peristiwa berlangganan

Memicu kejadian App Configuration

Sekarang, mari kita picu kejadian 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 kejadian, dan Event Grid mengirim pesan ke titik akhir yang Anda konfigurasi saat berlangganan. Lihat aplikasi web Anda untuk melihat peristiwa yang baru saja Anda kirim.

[{
  "id": "00000000-0000-0000-0000-000000000000",
  "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 di 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: