Mulai cepat: Merutekan peristiwa kustom ke antrean dengan menggunakan Event Grid dan Azure CLI
Azure Event Grid adalah broker peristiwa yang sangat dapat diskalakan dan tanpa server yang dapat Anda gunakan untuk mengintegrasikan aplikasi melalui peristiwa. Event Grid mengirimkan peristiwa ke penanganan aktivitas yang didukung, dan penyimpanan Azure Queue adalah salah satunya.
Dalam mulai cepat ini, Anda menggunakan Azure CLI untuk membuat topik kustom Event Grid dan langganan Queue Storage untuk topik tersebut. Anda kemudian mengirim peristiwa sampel ke topik kustom dan memverifikasi bahwa peristiwa tersebut dikirimkan ke antrean.
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Buat grup sumber daya
Topik Event Grid adalah sumber daya Azure, dan harus ditempatkan dalam grup sumber daya Azure. Grup sumber daya Azure adalah koleksi logis tempat sumber daya Azure disebarkan dan dikelola.
Buat grup sumber daya menggunakan perintah az group create. Contoh berikut ini menampilkan cara membuat grup sumber daya bernama gridResourceGroup
di westus2
lokasi.
Pilih Buka Cloud Shell untuk membuka Azure Cloud Shell di panel kanan. Pilih tombol Salin untuk menyalin perintah, tempelkan di Cloud Shell, lalu pilih tombol Enter untuk menjalankan perintah.
az group create --name gridResourceGroup --location westus2
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 perintah berikut:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Saat
registrationState
adalahRegistered
, Anda siap untuk melanjutkan.
Membuat topik kustom
Topik Event Grid menyediakan titik akhir yang ditentukan pengguna tempat Anda memposting peristiwa. Contoh berikut membuat topik kustom di grup sumber daya Anda.
Ganti <TOPIC NAME>
dengan nama unik untuk topik kustom Anda. Nama topik Event Grid harus unik karena entri Sistem Nama Domain (DNS) mewakilinya.
Tentukan nama untuk topik:
topicname="<TOPIC NAME>"
Jalankan perintah berikut untuk membuat topik:
az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Membuat antrean
Sebelum Anda berlangganan topik kustom, buat titik akhir untuk pesan peristiwa. Anda membuat antrean untuk mengumpulkan peristiwa.
Tentukan nama unik untuk akun penyimpanan Azure:
storagename="<STORAGE ACCOUNT NAME>"
Jalankan perintah berikut untuk membuat akun penyimpanan dan antrean (bernama
eventqueue
) di penyimpanan:queuename="eventqueue" az storage account create -n $storagename -g gridResourceGroup -l westus2 --sku Standard_LRS key="$(az storage account keys list -n $storagename --query "[0].{value:value}" --output tsv)" az storage queue create --name $queuename --account-name $storagename --account-key $key
Berlangganan topik kustom
Contoh berikut berlangganan topik kustom yang Anda buat, dan meneruskan ID sumber daya antrean untuk titik akhir. Dengan Azure CLI, Anda meneruskan ID antrean sebagai titik akhir. Titik akhir dalam format ini:
/subscriptions/<AZURE SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP NAME>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>/queueservices/default/queues/<QUEUE NAME>
Skrip berikut mendapatkan ID sumber daya akun penyimpanan untuk antrean. Ini membangun ID antrean dan berlangganan topik Event Grid. Skrip mengatur jenis titik akhir ke storagequeue
dan menggunakan ID antrean untuk titik akhir.
Sebelum Anda menjalankan perintah, ganti tempat penampung untuk tanggal kedaluwarsa (<yyyy-mm-dd>
) dengan nilai aktual untuk tahun, bulan, dan hari.
storageid=$(az storage account show --name $storagename --resource-group gridResourceGroup --query id --output tsv)
queueid="$storageid/queueservices/default/queues/$queuename"
topicid=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id $topicid \
--name mystoragequeuesubscription \
--endpoint-type storagequeue \
--endpoint $queueid \
--expiration-date "<yyyy-mm-dd>"
Akun yang membuat langganan peristiwa harus memiliki akses tulis ke antrean. Perhatikan bahwa tanggal kedaluwarsa ditetapkan untuk langganan.
Jika Anda menggunakan REST API untuk membuat langganan, Anda meneruskan ID akun penyimpanan dan nama antrean sebagai parameter terpisah:
"destination": {
"endpointType": "storagequeue",
"properties": {
"queueName":"eventqueue",
"resourceId": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-name>"
}
...
Mengirim peristiwa ke topik kustom Anda
Picu peristiwa untuk melihat bagaimana Event Grid mendistribusikan pesan ke titik akhir Anda. Pertama, dapatkan URL dan kunci untuk topik kustom:
endpoint=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name $topicname -g gridResourceGroup --query "key1" --output tsv)
Demi kesederhanaan dalam artikel ini, Anda menggunakan data peristiwa sampel untuk dikirim ke topik kustom. Biasanya, aplikasi atau layanan Azure akan mengirim data peristiwa.
Alat cURL mengirim permintaan HTTP. Dalam artikel ini, Anda menggunakan cURL untuk mengirim peristiwa ke topik kustom. Contoh berikut mengirimkan tiga peristiwa ke topik Event Grid:
for i in 1 2 3
do
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"} ]'
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
done
Buka antrean di portal Azure, dan perhatikan bahwa Event Grid mengirim ketiga peristiwa tersebut ke antrean.
Membersihkan sumber daya
Jika Anda berencana untuk terus bekerja dengan peristiwa ini, jangan bersihkan sumber daya yang Anda buat di artikel ini. Jika tidak, gunakan perintah berikut untuk menghapus sumber daya:
az group delete --name gridResourceGroup
Konten terkait
Setelah mengetahui cara membuat topik dan langganan kejadian, pelajari lebih lanjut tentang Azure Event Grid apa yang dapat membantu Anda melakukan:
- Tentang Event Grid
- Merutekan peristiwa Azure Blob Storage ke titik akhir web kustom
- Memantau perubahan komputer virtual dengan Azure Event Grid dan Logic Apps
- Streaming data besar ke dalam gudang data
Untuk mempelajari tentang menerbitkan peristiwa ke, dan menggunakan peristiwa dari, Event Grid dengan menggunakan berbagai bahasa pemrograman, lihat sampel berikut: