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 mengasumsikan Anda sudah memiliki koneksi hibrid dan aplikasi pendengar. Untuk mulai menggunakan koneksi hibrid, lihat Mulai menggunakan Relay Hybrid Connections - .NET atauMulai menggunakan Relay Hybrid Connections - Node.
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
- 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.
Pastikan Anda memiliki Visual Studio 2019 atau yang terbaru.
Kloning repositori ke mesin lokal Anda.
Muat proyek HybridConnectionConsumer di Visual Studio.
Di Program.cs, ganti dan
<relayConnectionString>
<hybridConnectionName>
dengan string koneksi relai dan nama koneksi hibrid yang Anda buat.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: