Bagikan melalui


Tutorial: Membuat rute peristiwa kustom ke Azure Relay Hybrid Connections dengan Azure CLI dan Event Grid

Azure Relay Hybrid Connections merupakan salah satu pengelola kejadian yang didukung. Gunakan koneksi hibrid sebagai pengelola kejadian saat Anda perlu memproses peristiwa dari aplikasi yang tidak memiliki titik akhir publik. Aplikasi ini mungkin berada dalam jaringan perusahaan Anda. Dalam artikel ini, Anda menggunakan Azure CLI untuk membuat topik kustom, berlangganan topik kustom, dan memicu peristiwa untuk menampilkan hasilnya. Kirim peristiwa ke sambungan hibrid.

Catatan

Jika Anda baru menggunakan Azure Event Grid, lihat Apa itu Azure Event Grid untuk mendapatkan gambaran umum layanan sebelum melalui tutorial ini.

Prasyarat

  • Artikel ini memerlukan Azure CLI versi 2.0.56 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terinstal.

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.

az group create --name gridResourceGroup --location westus2

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

az eventgrid topic create --name <topic_name> -l westus2 -g 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 koneksi hibrid untuk titik akhir. ID koneksi hibrid dalam format:

/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Relay/namespaces/<relay-namespace>/hybridConnections/<hybrid-connection-name>

Skrip berikut ini mendapatkan ID sumber daya dari mengganti namespace. Ini membangun ID untuk koneksi hibrid, dan berlangganan topik Event Grid. Skrip mengatur tipe titik akhir hybridconnection ke dan menggunakan ID koneksi hibrid untuk titik akhir.

relaynsname=<namespace-name>
relayrg=<resource-group-for-relay>
hybridname=<hybrid-name>

relayid=$(az relay namespace show --resource-group $relayrg --name $relaynsname --query id --output tsv)
hybridid="$relayid/hybridConnections/$hybridname"
topicid=$(az eventgrid topic show --name <topic_name> -g gridResourceGroup --query id --output tsv)

az eventgrid event-subscription create \
  --source-resource-id $topicid \
  --name <event_subscription_name> \
  --endpoint-type hybridconnection \
  --endpoint $hybridid \
  --expiration-date "<yyyy-mm-dd>"

Perhatikan bahwa tanggal kedaluwarsa ditetapkan untuk langganan.

Membuat aplikasi untuk memproses peristiwa

Anda memerlukan aplikasi yang dapat mengambil peristiwa dari koneksi hibrid. Sampel Microsoft Azure Event Grid Hybrid Connection Consumer untuk C# melakukan operasi tersebut. Anda sudah menyelesaikan langkah-langkah prasyarat.

  1. Pastikan Anda memiliki Visual Studio 2019 atau yang terbaru.

  2. Kloning repositori ke mesin lokal Anda.

  3. Muat proyek HybridConnectionConsumer di Visual Studio.

  4. Di Program.cs, ganti dan <relayConnectionString> <hybridConnectionName> dengan string koneksi relai dan nama koneksi hibrid yang Anda buat.

  5. Kompilasi dan jalankan aplikasi dari Visual Studio.

Penting

Kami menggunakan string koneksi untuk mengautentikasi ke namespace Azure Relay agar tutorial tetap sederhana. Kami menyarankan agar Anda menggunakan autentikasi ID Microsoft Entra di lingkungan produksi. Saat menggunakan aplikasi, Anda dapat mengaktifkan identitas terkelola untuk aplikasi dan menetapkan identitas peran yang sesuai (Pemilik Azure Relay, Pendengar Azure Relay, atau Pengirim Azure Relay) di namespace relay. Untuk informasi selengkapnya, lihat Mengautentikasi identitas terkelola dengan ID Microsoft Entra untuk mengakses sumber daya Azure Relay.

Mengirim peristiwa ke topik Anda

Mari kita picu peristiwa untuk melihat cara Event Grid mendistribusikan pesan ke titik akhir Anda. Artikel ini memperlihatkan cara menggunakan Azure CLI untuk memicu kejadian tersebut. Atau, Anda dapat menggunakan aplikasi penerbit Azure Event Grid.

Pertama, mari kita dapatkan URL dan kunci untuk topik kustom. Sekali lagi, gunakan nama topik kustom Anda untuk <topic_name>.

endpoint=$(az eventgrid topic show --name <topic_name> -g gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name <topic_name> -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.

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

Aplikasi pendengar Anda harus menerima pesan kejadian.

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: