Bagikan melalui


Mulai cepat: Merutekan peristiwa kustom ke pusat aktivitas 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 Azure Event Hubs adalah salah satunya.

Dalam mulai cepat ini, Anda menggunakan Azure CLI untuk membuat topik kustom Event Grid dan langganan Azure Event Hubs untuk topik tersebut. Anda kemudian mengirim peristiwa sampel ke topik kustom dan memverifikasi 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 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

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

  1. Tentukan nama untuk topik:

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

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

Membuat pusat aktivitas

Sebelum Anda berlangganan topik kustom, buat titik akhir untuk pesan peristiwa. 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 dalam format ini:

/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

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

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

Cuplikan layar yang memperlihatkan halaman portal dengan jumlah pesan masuk 3.

Biasanya, Anda membuat aplikasi yang mengambil pesan peristiwa dari pusat aktivitas. Untuk informasi selengkapnya, lihat:

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

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

Untuk mempelajari tentang menerbitkan peristiwa ke, dan menggunakan peristiwa dari, Event Grid dengan menggunakan berbagai bahasa pemrograman, lihat sampel berikut: