Penanganan aktivitas di layanan Azure Web PubSub

Handler acara menangani acara klien yang masuk. Penanganan aktivitas didaftarkan dan dikonfigurasi dalam layanan melalui portal Azure atau Azure CLI. Saat peristiwa klien dipicu, layanan dapat mengirim peristiwa ke penanganan aktivitas yang sesuai. Layanan Web PubSub sekarang mendukung penanganan aktivitas sebagai sisi server, yang mengekspos titik akhir yang dapat diakses publik agar layanan dipanggil saat peristiwa dipicu. Dengan kata lain, penanganan aktivitas bertindak sebagai webhook.

Layanan Web PubSub mengirimkan peristiwa klien ke webhook upstream menggunakan protokol HTTP CloudEvents.

Untuk setiap peristiwa, layanan merumuskan permintaan HTTP POST ke titik akhir upstream terdaftar dan mengharapkan respons HTTP.

Pengiriman data dari layanan ke server selalu dalam format CloudEvents binary.

Screenshot of Web PubSub service event trigger.

Induk dan Validasi

Saat Anda mengonfigurasi titik akhir webhook, URL dapat menyertakan {event} parameter untuk menentukan templat URL. Layanan ini menghitung nilai URL webhook secara dinamis ketika permintaan klien masuk. Misalnya, ketika permintaan /client/hubs/chat masuk dengan pola URL handler acara yang dikonfigurasikan http://host.com/api/{event} untuk hub chat, ketika klien tersambung permintan tersebut pertama-tama akan MEMPOSTING ke URL ini: http://host.com/api/connect. Parameter {event} dapat berguna ketika klien WebSocket PubSub mengirim peristiwa kustom, bahwa penanganan aktivitas membantu mengirimkan peristiwa yang berbeda ke titik akhir upstream yang berbeda. Parameter {event} tidak diizinkan dalam nama domain URL.

Saat menyiapkan webhook penanganan aktivitas melalui portal Azure atau CLI, layanan mengikuti CloudEvents Abuse Protection untuk memvalidasi webhook upstream. Setiap URL webhook upstream yang terdaftar akan divalidasi oleh mekanisme ini. Header WebHook-Request-Origin permintaan diatur ke nama xxx.webpubsub.azure.comdomain layanan , dan mengharapkan respons untuk memiliki header WebHook-Allowed-Origin untuk berisi nama domain ini atau *.

Ketika melakukan validasi, parameter {event} ditangani menjadi validate. Misalnya, saat mencoba mengatur URL ke http://host.com/api/{event}, layanan akan mencoba OPSI permintaan ke http://host.com/api/validate. Dan hanya ketika respons valid, konfigurasi dapat berhasil diatur.

Untuk saat ini, kami tidak mendukung WebHook-Request-Rate dan WebHook-Request-Callback.

Autentikasi antara layanan dan webhook

Anda dapat menggunakan salah satu metode ini untuk mengautentikasi antara layanan dan webhook.

  • Mode anonim
  • Autentikasi sederhana dengan ?code=<code> disediakan melalui URL Webhook yang dikonfigurasi sebagai parameter kueri.
  • Otorisasi Microsoft Entra. Untuk informasi selengkapnya, lihat Menggunakan identitas terkelola dalam peristiwa klien.

Konfigurasikan penanganan aktivitas

Konfigurasikan melalui portal Microsoft Azure

Anda dapat menambahkan penanganan aktivitas ke hub baru atau mengedit hub yang sudah ada.

Untuk mengonfigurasi penanganan aktivitas di hub baru:

  1. Buka halaman layanan Azure Web PubSub Anda di portal Azure.

  2. Pilih Pengaturan dari menu.

  3. Pilih Tambahkan untuk membuat hub dan mengonfigurasi URL webhook sisi server Anda. Catatan: Untuk menambahkan penanganan aktivitas ke hub yang sudah ada, pilih hub dan pilih Edit.

    Screenshot of setting the event handler.

  4. Masukkan nama hub Anda.

  5. Pilih Tambahkan di bawah Konfigurasikan Penanganan Genap.

  6. Di halaman penanganan aktivitas, konfigurasikan bidang berikut: 1. Masukkan URL webhook server di bidang Templat URL. 1. Pilih Peristiwa sistem yang ingin Anda berlangganan. 1. Pilih Peristiwa pengguna yang ingin Anda berlangganan. 1. Pilih Metode autentikasi untuk mengautentikasi permintaan upstram. 1. Pilih Konfirmasi. Screenshot of Azure Web PubSub Configure Event Handler.

  7. Pilih Simpan di bagian atas halaman Konfigurasi Pengaturan Hub.

    Screenshot of Azure Web PubSub Configure Hub Settings.

Konfigurasikan melalui Azure CLI

Gunakan perintah grup Azure CLI az webpubsub hub untuk mengonfigurasi pengaturan penanganan aktivitas.

Perintah Deskripsi
create Buat pengaturan hub untuk Layanan WebPubSub.
delete Hapus pengaturan hub untuk Layanan WebPubSub.
list Cantumkan semua pengaturan hub untuk Layanan WebPubSub.
show Tampilkan pengaturan hub untuk Layanan WebPubSub.
update Perbarui pengaturan hub untuk Layanan WebPubSub.

Berikut adalah contoh pembuatan dua URL webhook untuk hub MyHubMyWebPubSub sumber daya:

az webpubsub hub create -n "MyWebPubSub" -g "MyResourceGroup" --hub-name "MyHub" --event-handler url-template="http://host.com" user-event-pattern="*" --event-handler url-template="http://host2.com" system-event="connected" system-event="disconnected" auth-type="ManagedIdentity" auth-resource="uri://myUri"

Langkah berikutnya

Gunakan sumber daya ini untuk mulai membangun aplikasi Anda sendiri: