Bagikan melalui


Merutekan peristiwa kustom ke titik akhir web dengan portal Azure dan Azure Event Grid

Event Grid adalah layanan terkelola penuh yang memungkinkan Anda mengelola kejadian dengan mudah di berbagai layanan dan aplikasi Azure. Event Grid menyederhanakan pembangunan aplikasi berbasis kejadian dan nirserver. Untuk gambaran umum layanan tersebut, lihat Gambaran umum Event Grid.

Dalam artikel ini, Anda menggunakan portal Azure untuk melakukan tugas berikut:

  1. Membuat topik kustom.
  2. Berlangganan topik kustom.
  3. Pemicu peristiwa.
  4. Menampilkan hasilnya. Biasanya, Anda mengirim peristiwa ke titik akhir yang memproses data peristiwa dan mengambil tindakan. Namun, untuk menyederhanakan artikel ini, Anda mengirim peristiwa ke aplikasi web yang mengumpulkan dan menampilkan pesan.

Prasyarat

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

Mendaftarkan penyedia sumber Event Grid

Kecuali jika Event Grid telah digunakan sebelumnya, Anda harus mendaftarkan penyedia sumber daya Event Grid. Jika Anda pernah menggunakan Event Grid sebelumnya, lewati ke bagian berikutnya.

Di portal Azure, lakukan langkah-langkah berikut:

  1. Di menu sebelah kiri, pilih Langganan.

  2. Pilih langganan yang ingin Anda gunakan untuk Event Grid dari daftar langganan.

  3. Pada halaman Langganan, pilih Penyedia sumber pada bagian Pengaturan di menu sebelah kiri.

  4. Cari Microsoft.EventGrid, dan konfirmasikan bahwa StatusTidak Terdaftar.

  5. Pilih Microsoft.EventGrid dalam daftar penyedia.

  6. Pilih Daftar pada bilah perintah.

    Gambar yang menampilkan registrasi penyedia Microsoft.EventGrid dengan langganan Azure.

  7. Refresh untuk memastikan status Microsoft.EventGrid diubah menjadi Terdaftar.

    Gambar yang menampilkan registrasi berhasil penyedia Microsoft.EventGrid dengan langganan Azure.

Membuat topik kustom

Topik Event Grid menyediakan titik akhir yang ditentukan pengguna tempat Anda memposting peristiwa.

  1. Masuk ke portal Microsoft Azure.

  2. Di bilah pencarian di topik, ketik Topik Event Grid, lalu pilih Topik Event Grid dari menu drop-down.

    Tangkapan layar menunjukkan bilah pencarian port Azure untuk mencari topik Event Grid.

  3. Di halaman Topik Event Grid, pilih + Buat pada toolbar.

    Tangkapan layar menunjukkan tombol Buat Topik pada halaman topik Event Grid.

  4. Di halaman Buat Topik, ikuti langkah berikut:

    1. Pilih langganan Azure Anda.

    2. Pilih grup sumber daya yang sudah ada atau pilih Buat baru, dan masukkan nama untuk grup sumber daya.

    3. Berikan nama unik untuk topik kustom. Nama topik harus unik karena diwakili oleh entri DNS. Jangan gunakan nama yang ditampilkan dalam gambar. Sebaliknya, buat nama Anda sendiri - harus antara 3-50 karakter dan hanya berisi nilai a-z, A-Z, 0-9, dan "-".

    4. Pilih lokasi untuk topik Event Grid.

    5. Pilih Tinjau + buat di bagian bawah halaman.

      Halaman Membuat Topik

    6. Di tab Tinjau + buat dari halaman Membuat topik, pilih Buat.

      Meninjau pengaturan dan membuat

  5. Setelah penerapan berhasil, pilih Buka sumber daya untuk menavigasi ke halaman Topik Event Grid untuk topik Anda. Tetap buka halaman ini. Anda menggunakannya nanti di mulai cepat.

    Cuplikan layar memperlihatkan beranda topik Event Grid.

    Catatan

    Agar panduan memulai cepat tetap sederhana, Anda hanya akan menggunakan laman Dasar-dasar untuk membuat topik. Untuk langkah-langkah detail tentang mengonfigurasi jaringan, keamanan, dan pengaturan tempat tinggal data di laman lain dari wizard, lihat Membuat topik khusus.

Buat titik akhir pesan

Sebelum Anda membuat langganan untuk topik kustom, buat titik akhir untuk pesan peristiwa. Biasanya, titik akhir mengambil tindakan berdasarkan data kejadian. Untuk menyederhanakan mulai cepat ini, Anda menyebarkan aplikasi web bawaan yang menampilkan pesan peristiwa. Solusi yang disebarkan mencakup rencana App Service, aplikasi web App Service, dan kode sumber dari GitHub.

  1. Di halaman artikel, pilih Sebarkan ke Azure untuk menyebarkan solusi untuk langganan Anda. Di portal Microsoft Azure, berikan nilai untuk parameter.

    Tombol untuk menyebarkan templat Resource Manager ke Azure.

  2. Pada halaman Penyebaran kustom, lakukan langkah-langkah berikut ini:

    1. Untuk Grup sumber daya, pilih grup sumber daya yang sudah ada atau buat grup sumber daya.

    2. Untuk Nama Situs, masukkan nama untuk aplikasi web.

    3. Untuk Nama paket hosting, masukkan nama untuk paket App Service yang akan digunakan untuk menghosting aplikasi web.

    4. Pilih Tinjau + buat.

      Cuplikan layar memperlihatkan halaman Penyebaran kustom.

  3. Pada halaman Tinjau + buat, pilih Buat.

  4. Perlu beberapa menit untuk menyelesaikan penyebaran. Pilih Pemberitahuan (ikon bel) di portal, lalu pilih Masuk ke grup sumber daya.

    Cuplikan layar memperlihatkan pesan penyebaran yang berhasil dengan tautan untuk menavigasi ke grup sumber daya.

  5. Pada halaman Grup sumber daya, dalam daftar sumber daya, pilih aplikasi web (contosoegriviewer dalam contoh berikut) yang Anda buat.

    Cuplikan layar yang memperlihatkan halaman Grup Sumber Daya dengan sumber daya yang disebarkan.

  6. Pada halaman App Service untuk aplikasi web Anda, pilih URL untuk menavigasi ke situs web. URL harus dalam format ini: https://<your-site-name>.azurewebsites.net.

    Cuplikan layar yang memperlihatkan halaman App Service dengan tautan ke situs disorot.

  7. Konfirmasikan bahwa Anda melihat situs tetapi belum ada peristiwa yang diposting ke situs tersebut.

    Cuplikan layar yang memperlihatkan aplikasi sampel Penampil Event Grid.

Berlangganan topik kustom

Anda berlangganan topik Event Grid untuk memberi tahu Event Grid peristiwa mana yang ingin Anda lacak, dan tempat mengirim peristiwa.

  1. Sekarang, di halaman Topik Event Grid untuk topik kustom Anda, pilih + Langganan Peristiwa pada toolbar.

    Tombol Tambahkan langganan peristiwa

  2. Di halaman Membuat Langganan Peristiwa, ikuti langkah berikut:

    1. Masukkan nama untuk langganan acara.

    2. Pilih Web Hook untuk Jenis titik akhir.

    3. Pilih Pilih titik akhir.

      Menyediakan nilai langganan peristiwa

    4. Untuk titik akhir webhook, berikan URL aplikasi web Anda dan tambahkan api/updates ke URL halaman beranda. Pilih Konfirmasi Pilihan.

      Menyediakan URL titik akhir

    5. Kembali ke halaman Membuat Langganan Peristiwa, pilih Buat.

  3. Lihat lagi aplikasi web Anda, dan perhatikan bahwa peristiwa validasi langganan telah dikirim ke sana. Pilih ikon mata untuk meluaskan data peristiwa. Event Grid mengirimkan peristiwa validasi sehingga titik akhir dapat memverifikasi bahwa ia ingin menerima data peristiwa. Aplikasi web menyertakan kode untuk memvalidasi langganan.

    Cuplikan layar aplikasi Penampil Event Grid dengan peristiwa Tervalidasi Langganan.

Mengirim peristiwa ke topik Anda

Sekarang, mari kita picu kejadian untuk melihat cara Event Grid mendistribusikan pesan ke titik akhir Anda. Gunakan Azure CLI atau PowerShell untuk mengirim peristiwa pengujian ke topik kustom Anda. Biasanya, aplikasi atau layanan Azure akan mengirimkan data peristiwa.

Contoh pertama menggunakan Azure CLI. Ini mendapatkan URL dan kunci untuk topik kustom, dan sampel data peristiwa. Gunakan nama topik kustom Anda untuk <topic name>. Ini membuat sampel data peristiwa. Elemen data JSON adalah payload peristiwa Anda. Setiap JSON yang terbentuk dengan baik dapat masuk dalam bidang ini. Anda juga dapat menggunakan bidang subjek untuk perutean dan pemfilteran tingkat lanjut. CURL adalah utilitas yang mengirim permintaan HTTP.

Azure CLI

  1. Di portal Microsoft Azure, pilih Cloud Shell. Cloud Shell terbuka di panel bawah browser web.

    Pilih ikon Cloud Shell

  2. Pilih Bash di pojok kiri atas jendela Cloud Shell.

    Cuplikan layar yang memperlihatkan Cloud Shell dengan Bash dipilih di sudut kiri atas.

  3. Jalankan perintah berikut untuk mendapatkan titik akhir untuk topik: Setelah Anda menyalin dan menempelkan perintah, perbarui nama topik dan nama grup sumber daya sebelum Anda menjalankan perintah. Anda menerbitkan contoh peristiwa ke titik akhir topik ini.

    endpoint=$(az eventgrid topic show --name <topic name> -g <resource group name> --query "endpoint" --output tsv)
    
  4. Jalankan perintah berikut untuk mendapatkan kunci untuk topik kustom: Setelah Anda menyalin dan menempelkan perintah, perbarui nama topik dan nama grup sumber daya sebelum Anda menjalankan perintah. Ini adalah kunci utama topik Event Grid. Untuk mendapatkan kunci ini dari portal Microsoft Azure, beralihlah ke tab Kunci akses di halaman Topik Event Grid. Agar dapat memposting peristiwa ke topik kustom, Anda memerlukan kunci akses.

    key=$(az eventgrid topic key list --name <topic name> -g <resource group name> --query "key1" --output tsv)
    
  5. Salin pernyataan berikut dengan definisi peristiwa, dan tekan ENTER.

    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"} ]'
    
  6. Jalankan perintah Curl berikut untuk memposting peristiwa: Di perintah, header aeg-sas-key diatur ke kunci akses yang Anda dapatkan sebelumnya.

    curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
    

Azure PowerShell

Contoh kedua menggunakan PowerShell untuk melakukan langkah serupa.

  1. Di portal Microsoft Azure, pilih Cloud Shell (atau masuk ke https://shell.azure.com/). Cloud Shell terbuka di panel bawah browser web.

    Pilih ikon Cloud Shell

  2. Di Cloud Shell, pilih PowerShell di pojok kiri atas jendela Cloud Shell. Lihat sampel gambar jendela Cloud Shell di bagian Azure CLI.

  3. Atur variabel berikut. Setelah Anda menyalin dan menempelkan setiap perintah, perbarui nama topik dan nama grup sumber daya sebelum Anda menjalankan perintah:

    Grup sumber daya:

    $resourceGroupName = "<resource group name>"
    

    Nama topik Event Grid:

    $topicName = "<topic name>"
    
  4. Jalankan perintah berikut untuk mendapatkan titik akhir dan kunci untuk topik:

    $endpoint = (Get-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $topicName).Endpoint
    $keys = Get-AzEventGridTopicKey -ResourceGroupName $resourceGroupName -Name $topicName
    
  5. Persiapkan peristiwa. Salin dan jalankan pernyataan di jendela Cloud Shell.

    $eventID = Get-Random 99999
    
    #Date format should be SortableDateTimePattern (ISO 8601)
    $eventDate = Get-Date -Format s
    
    #Construct body using Hashtable
    $htbody = @{
        id= $eventID
        eventType="recordInserted"
        subject="myapp/vehicles/motorcycles"
        eventTime= $eventDate   
        data= @{
            make="Ducati"
            model="Monster"
        }
        dataVersion="1.0"
    }
    
    #Use ConvertTo-Json to convert event body from Hashtable to JSON Object
    #Append square brackets to the converted JSON payload since they are expected in the event's JSON payload syntax
    $body = "["+(ConvertTo-Json $htbody)+"]"
    
  6. Gunakan cmdlet Invoke-WebRequest untuk mengirim peristiwa.

    Invoke-WebRequest -Uri $endpoint -Method POST -Body $body -Headers @{"aeg-sas-key" = $keys.Key1}
    

Memverifikasi di Penampil Event Grid

Anda telah memicu kejadian, dan Event Grid mengirim pesan ke titik akhir yang Anda konfigurasi saat berlangganan. Lihat aplikasi web Anda untuk melihat peristiwa yang baru saja Anda kirim.

Penampil Event Grid

Membersihkan sumber daya

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

  1. Pilih Grup Sumber Daya di menu sebelah kiri. Jika Anda tidak melihatnya di menu sebelah kiri, pilih Semua Layanan di menu sebelah kiri, lalu pilih Grup Sumber Daya.

    Cuplikan layar yang memperlihatkan halaman Grup Sumber Daya.

  2. Pilih grup sumber daya untuk meluncurkan halaman Grup Sumber Daya.

  3. Pilih Hapus grup sumber daya di toolbar.

  4. Konfirmasi penghapusan dengan memasukkan nama grup sumber daya, lalu pilih Hapus.

    Grup sumber daya lain yang Anda lihat dalam gambar dibuat dan digunakan oleh jendela Cloud Shell. Hapus jika Anda tidak berencana menggunakan jendela Cloud Shell nanti.

Langkah berikutnya

Setelah Anda mengetahui cara membuat topik kustom dan langganan peristiwa, pelajari lebih lanjut tentang apa yang Event Grid bisa bantu Anda lakukan:

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