Mulai cepat: Merutekan peristiwa kustom ke Azure Event Hubs dengan Azure CLI dan Event Grid

Azure Event Grid adalah broker peristiwa yang sangat dapat diskalakan dan tanpa server yang dapat Anda gunakan untuk mengintegrasikan aplikasi menggunakan peristiwa. Event Grid mengirimkan peristiwa ke penanganan aktivitas yang didukung dan Azure Event Hubs adalah salah satunya. Dalam artikel ini, Anda menggunakan Azure CLI untuk langkah-langkah berikut:

  1. Buat topik kustom Event Grid.
  2. Buat langganan Azure Event Hubs untuk topik kustom.
  3. Kirim contoh peristiwa ke topik kustom.
  4. Verifikasi bahwa peristiwa tersebut dikirimkan ke pusat aktivitas.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

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 gridResourceGroup di lokasi usbarat2.

Catatan

Pilih Coba di samping contoh CLI untuk meluncurkan Cloud Shell di panel kanan. Pilih tombol Salin untuk menyalin perintah, tempelkan di jendela Cloud Shell, lalu tekan ENTER untuk menjalankan perintah.

az group create --name gridResourceGroup --location westus2

Aktifkan penyedia sumber daya Event Grid

  1. 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
    
  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.

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 diwakili oleh entri Sistem Nama Domain (DNS).

  1. Tentukan nama untuk topik tersebut.

    topicname="<TOPIC NAME>"
    
  2. Jalankan perintah berikut untuk membuat topik.

    az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
    

Membuat pusat aktivitas

Sebelum berlangganan topik kustom, mari kita buat titik akhir untuk pesan kejadian. Anda membuat pusat aktivitas untuk mengumpulkan peristiwa.

  1. Tentukan nama unik untuk namespace layanan Azure Event Hubs.

    namespace="<EVENT HUBS NAMESPACE NAME>"
    
  2. Jalankan perintah berikut untuk membuat namespace layanan Azure Event Hubs dan pusat aktivitas bernama demohub di namespace layanan tersebut.

    hubname=demohub
    
    az eventhubs namespace create --name $namespace --resource-group gridResourceGroup
    az eventhubs eventhub create --name $hubname --namespace-name $namespace --resource-group gridResourceGroup
    

Berlangganan topik kustom

Anda berlangganan topik Event Grid untuk memberi tahu Event Grid peristiwa mana yang ingin Anda lacak. Contoh berikut berlangganan topik kustom yang Anda buat, dan meneruskan ID sumber daya hub peristiwa untuk titik akhir. Titik akhir menggunakan format:

/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/namespaces/<NAMESPACE NAME>/eventhubs/<EVENT HUB NAME>

Skrip berikut mendapatkan ID sumber daya untuk pusat aktivitas, dan berlangganan topik Event Grid. Ini mengatur jenis titik akhir ke eventhub dan menggunakan ID pusat aktivitas untuk titik akhir.

hubid=$(az eventhubs eventhub show --name $hubname --namespace-name $namespace --resource-group gridResourceGroup --query id --output tsv)
topicid=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query id --output tsv)

az eventgrid event-subscription create \
  --source-resource-id $topicid \
  --name subtoeventhub \
  --endpoint-type eventhub \
  --endpoint $hubid

Akun yang membuat langganan peristiwwa harus memiliki akses tulis ke pusat aktivitas.

Mengirim peristiwa ke topik kustom Anda

Mari kita picu peristiwa untuk melihat cara Event Grid mendistribusikan pesan ke titik akhir Anda. Pertama, mari kita 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)

Untuk menyederhanakan artikel ini, Anda dapat menggunakan sampel data kejadian untuk dikirim ke topik kustom. Biasanya, aplikasi atau layanan Azure akan mengirimkan data peristiwa. CURL adalah utilitas yang mengirim permintaan HTTP. Dalam artikel ini, gunakan CURL untuk mengirim kejadian 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

Pada halaman Gambaran Umum untuk namespace Layanan Pusat Aktivitas Anda di portal Azure, perhatikan bahwa Event Grid mengirim ketiga peristiwa tersebut ke hub peristiwa. Anda melihat bagan yang sama di halaman Gambaran Umum untuk demohub halaman instans Azure Event Hubs.

Image showing the portal page with incoming message count as 3.

Biasanya, Anda membuat aplikasi yang mengambil peristiwa dari pusat peristiwa. Untuk membuat aplikasi yang mendapatkan pesan dari pusat peristiwa, lihat:

Membersihkan sumber daya

Jika Anda berencana untuk terus bekerja dengan peristiwa ini, jangan bersihkan sumber daya yang dibuat di artikel ini. Jika tidak, gunakan perintah berikut untuk menghapus sumber daya yang Anda buat di artikel ini.

az group delete --name gridResourceGroup

Langkah berikutnya

Setelah mengetahui cara membuat topik dan langganan kejadian, pelajari lebih lanjut tentang Azure Event Grid apa yang dapat membantu Anda melakukan:

Lihat contoh berikut untuk mempelajari tentang penerbitan peristiwa ke dan menggunakan peristiwa dari Event Grid menggunakan bahasa pemrograman yang berbeda.