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
.
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.com
domain 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:
Buka halaman layanan Azure Web PubSub Anda di portal Azure.
Pilih Pengaturan dari menu.
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.
Masukkan nama hub Anda.
Pilih Tambahkan di bawah Konfigurasikan Penanganan Genap.
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.
Pilih Simpan di bagian atas halaman Konfigurasi Pengaturan Hub.
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 MyHub
MyWebPubSub
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: