Mulai cepat: Mengirim peristiwa kustom ke titik akhir web dengan portal Azure dan Azure Event Grid
Dalam mulai cepat ini, Anda membuat topik, membuat langganan ke topik tersebut menggunakan titik akhir Webhook, memicu peristiwa sampel, lalu melihat hasilnya. Biasanya, Anda mengirim peristiwa ke titik akhir yang memproses data peristiwa dan mengambil tindakan. Namun, untuk menyederhanakan tutorial ini, Anda mengirim peristiwa ke aplikasi web yang mengumpulkan dan menampilkan pesan.
Prasyarat
- Jika Anda tidak memiliki langganan Azure, buat akun gratis Azure sebelum memulai.
- Jika Anda baru Azure Event Grid, lihat Gambaran umum Event Grid.
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:
Di menu sebelah kiri, pilih Langganan.
Pilih langganan yang ingin Anda gunakan untuk Event Grid dari daftar langganan.
Pada halaman Langganan, pilih Penyedia sumber pada bagian Pengaturan di menu sebelah kiri.
Cari Microsoft.EventGrid, dan konfirmasikan bahwa StatusTidak Terdaftar.
Pilih Microsoft.EventGrid dalam daftar penyedia.
Pilih Daftar pada bilah perintah.
Refresh untuk memastikan status Microsoft.EventGrid diubah menjadi Terdaftar.
Membuat topik kustom
Topik Event Grid menyediakan titik akhir yang ditentukan pengguna tempat Anda memposting peristiwa.
Masuk ke portal Microsoft Azure.
Di bilah pencarian di topik, ketik Topik Event Grid, lalu pilih Topik Event Grid dari menu drop-down.
Di halaman Topik Event Grid, pilih + Buat pada toolbar.
Di halaman Buat Topik, ikuti langkah berikut:
Pilih langganan Azure Anda.
Pilih grup sumber daya yang sudah ada atau pilih Buat baru, dan masukkan nama untuk grup sumber daya.
Berikan nama unik untuk topik kustom. Nama topik harus unik karena diwakili oleh entri DNS. Jangan gunakan nama yang ditampilkan dalam gambar. Sebagai gantinya, buat nama Anda sendiri - harus antara 3-50 karakter dan hanya berisi nilai a-z, A-Z, 0-9, dan
-
.Pilih lokasi untuk topik Event Grid.
Pilih Tinjau + buat di bagian bawah halaman.
Di tab Tinjau + buat dari halaman Membuat topik, pilih Buat.
Setelah penerapan berhasil, pilih Buka sumber daya untuk menavigasi ke halaman Topik Event Grid untuk topik Anda. Tetap buka halaman ini. Anda menggunakannya nanti di mulai cepat.
Catatan
Agar panduan memulai cepat tetap sederhana, Anda hanya akan menggunakan laman Dasar-dasar untuk membuat topik. Untuk langkah-langkah detail tentang mengonfigurasi jaringan, keamanan, dan pengaturan tempat tinggal data di laman lain dari wizard, lihat Membuat topik khusus.
Buat titik akhir pesan
Sebelum Anda membuat langganan untuk topik kustom, buat titik akhir untuk pesan peristiwa. Biasanya, titik akhir mengambil tindakan berdasarkan data kejadian. Untuk menyederhanakan mulai cepat ini, Anda menyebarkan aplikasi web bawaan yang menampilkan pesan peristiwa. Solusi yang disebarkan mencakup rencana App Service, aplikasi web App Service, dan kode sumber dari GitHub.
Di halaman artikel, pilih Sebarkan ke Azure untuk menyebarkan solusi untuk langganan Anda. Di portal Microsoft Azure, berikan nilai untuk parameter.
Pada halaman Penyebaran kustom, lakukan langkah-langkah berikut ini:
Untuk Grup sumber daya, pilih grup sumber daya yang sudah ada atau buat grup sumber daya.
Untuk Nama Situs, masukkan nama untuk aplikasi web.
Untuk Nama paket hosting, masukkan nama untuk paket App Service yang akan digunakan untuk menghosting aplikasi web.
Pilih Tinjau + buat.
Pada halaman Tinjau + buat, pilih Buat.
Penyebaran mungkin perlu waktu beberapa menit untuk diselesaikan. Pilih Pemberitahuan (ikon bel) di portal, lalu pilih Masuk ke grup sumber daya.
Pada halaman Grup sumber daya, dalam daftar sumber daya, pilih aplikasi web (contosoegriviewer dalam contoh berikut) yang Anda buat.
Pada halaman App Service untuk aplikasi web Anda, pilih URL untuk menavigasi ke situs web. URL harus dalam format ini:
https://<your-site-name>.azurewebsites.net
.Konfirmasikan bahwa Anda melihat situs tetapi belum ada peristiwa yang diposting ke situs tersebut.
Berlangganan topik kustom
Anda berlangganan topik Event Grid untuk memberi tahu Event Grid peristiwa mana yang ingin Anda lacak, dan tempat mengirim peristiwa.
Sekarang, di halaman Topik Event Grid untuk topik kustom Anda, pilih + Langganan Peristiwa pada toolbar.
Di halaman Membuat Langganan Peristiwa, ikuti langkah berikut:
Masukkan nama untuk langganan acara.
Pilih Web Hook untuk Jenis titik akhir.
Pilih Pilih titik akhir.
Untuk titik akhir webhook, berikan URL aplikasi web Anda dan tambahkan
api/updates
ke URL halaman beranda. Pilih Konfirmasi Pilihan.Kembali ke halaman Membuat Langganan Peristiwa, pilih Buat.
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.
Mengirim peristiwa ke topik Anda
Sekarang, mari kita picu kejadian untuk melihat cara Event Grid mendistribusikan pesan ke titik akhir Anda. Gunakan Azure CLI atau PowerShell untuk mengirim peristiwa pengujian ke topik kustom Anda. Biasanya, aplikasi atau layanan Azure akan mengirimkan data peristiwa.
Contoh pertama menggunakan Azure CLI. Ini mendapatkan URL dan kunci untuk topik kustom, dan sampel data peristiwa. Gunakan nama topik kustom Anda untuk <topic name>
. Ini membuat sampel data peristiwa. Elemen data
JSON adalah payload peristiwa Anda. Setiap JSON yang terbentuk dengan baik dapat masuk dalam bidang ini. Anda juga dapat menggunakan bidang subjek untuk perutean dan pemfilteran tingkat lanjut. CURL adalah utilitas yang mengirim permintaan HTTP.
Azure CLI
Di portal Microsoft Azure, pilih Cloud Shell. Cloud Shell terbuka di panel bawah browser web.
Jika Cloud Shell membuka sesi PowerShell, pilih Beralih ke Bash di sudut kiri atas jendela Cloud Shell. Jika tidak, lanjutkan ke langkah berikutnya.
Jalankan perintah berikut untuk mendapatkan titik akhir untuk topik: Setelah Anda menyalin dan menempelkan perintah, perbarui nama topik dan nama grup sumber daya sebelum Anda menjalankan perintah. Anda menerbitkan contoh peristiwa ke titik akhir topik ini.
endpoint=$(az eventgrid topic show --name <topic name> -g <resource group name> --query "endpoint" --output tsv)
Jalankan perintah berikut untuk mendapatkan kunci untuk topik kustom: Setelah Anda menyalin dan menempelkan perintah, perbarui nama topik dan nama grup sumber daya sebelum Anda menjalankan perintah. Ini adalah kunci utama topik Event Grid. Untuk mendapatkan kunci ini dari portal Microsoft Azure, beralihlah ke tab Kunci akses di halaman Topik Event Grid. Agar dapat memposting peristiwa ke topik kustom, Anda memerlukan kunci akses.
key=$(az eventgrid topic key list --name <topic name> -g <resource group name> --query "key1" --output tsv)
Salin pernyataan berikut dengan definisi peristiwa, dan tekan ENTER.
event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]'
Jalankan perintah Curl berikut untuk memposting peristiwa: Di perintah, header
aeg-sas-key
diatur ke kunci akses yang Anda dapatkan sebelumnya.curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Azure PowerShell
Contoh kedua menggunakan PowerShell untuk melakukan langkah serupa.
Di portal Microsoft Azure, pilih Cloud Shell (atau masuk ke
https://shell.azure.com/
). Cloud Shell terbuka di panel bawah browser web.Di Cloud Shell, pilih PowerShell di pojok kiri atas jendela Cloud Shell. Lihat sampel gambar jendela Cloud Shell di bagian Azure CLI.
Atur variabel berikut. Setelah Anda menyalin dan menempelkan setiap perintah, perbarui nama topik dan nama grup sumber daya sebelum Anda menjalankan perintah:
Grup sumber daya:
$resourceGroupName = "<resource group name>"
Nama topik Event Grid:
$topicName = "<topic name>"
Jalankan perintah berikut untuk mendapatkan titik akhir dan kunci untuk topik:
$endpoint = (Get-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $topicName).Endpoint $keys = Get-AzEventGridTopicKey -ResourceGroupName $resourceGroupName -Name $topicName
Persiapkan peristiwa. Salin dan jalankan pernyataan di jendela Cloud Shell.
$eventID = Get-Random 99999 #Date format should be SortableDateTimePattern (ISO 8601) $eventDate = Get-Date -Format s #Construct body using Hashtable $htbody = @{ id= $eventID eventType="recordInserted" subject="myapp/vehicles/motorcycles" eventTime= $eventDate data= @{ make="Ducati" model="Monster" } dataVersion="1.0" } #Use ConvertTo-Json to convert event body from Hashtable to JSON Object #Append square brackets to the converted JSON payload since they are expected in the event's JSON payload syntax $body = "["+(ConvertTo-Json $htbody)+"]"
Gunakan cmdlet Invoke-WebRequest untuk mengirim peristiwa.
Invoke-WebRequest -Uri $endpoint -Method POST -Body $body -Headers @{"aeg-sas-key" = $keys.Key1}
Memverifikasi di Penampil Event Grid
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.
Membersihkan sumber daya
Jika Anda berencana untuk terus bekerja dengan peristiwa ini, jangan bersihkan sumber daya yang dibuat di artikel ini. Jika tidak, hapus sumber daya yang Anda buat di artikel ini.
Pilih Grup Sumber Daya di menu sebelah kiri. Jika Anda tidak melihatnya di menu sebelah kiri, pilih Semua Layanan di menu sebelah kiri, lalu pilih Grup Sumber Daya.
Pilih grup sumber daya untuk meluncurkan halaman Grup Sumber Daya.
Pilih Hapus grup sumber daya di toolbar.
Konfirmasi penghapusan dengan memasukkan nama grup sumber daya, lalu pilih Hapus.
Grup sumber daya lain yang Anda lihat dalam gambar dibuat dan digunakan oleh jendela Cloud Shell. Hapus jika Anda tidak berencana menggunakan jendela Cloud Shell nanti.
Konten terkait
Setelah Anda mengetahui cara membuat topik kustom dan langganan peristiwa, pelajari lebih lanjut tentang apa yang Event Grid bisa bantu Anda lakukan: