Обработчик событий в службе Azure Web PubSub
Обработчик событий обрабатывает входящие события клиента. Обработчики событий регистрируются и настраиваются в службе с помощью портал Azure или Azure CLI. При активации события клиента служба может отправить событие соответствующему обработчику событий. Служба Web PubSub теперь поддерживает обработчик событий на стороне сервера, который предоставляет общедоступную конечную точку службы для вызова при активации события. Другими словами, он выступает в качестве веб-перехватчика.
Служба Web PubSub предоставляет клиентские события в веб-перехватчик вышестоящий с помощью протокола HTTP CloudEvents.
Для каждого события служба сформулирует HTTP-запрос POST к зарегистрированной конечной точке вышестоящий и ожидает HTTP-ответ.
Данные всегда отправляются из службы на сервер в формате CloudEvents binary
.
Вышестоящий компонент и проверка
При настройке конечной точки веб-перехватчика URL-адрес может включать {event}
параметр для определения шаблона URL-адреса. Служба при получении запроса клиента вычисляет значение URL-адреса веб-перехватчика динамически. Например, при получении запроса /client/hubs/chat
при заданном шаблоне URL обработчика событий http://host.com/api/{event}
для концентратора chat
при подключении клиента сначала будет выполнен запрос POST к этому URL-адресу: http://host.com/api/connect
. Этот {event}
параметр может быть полезен, если клиент PubSub WebSocket отправляет пользовательские события, что обработчик событий помогает отправлять различные события в разные конечные точки вышестоящий. Параметр {event}
не разрешен в доменном имени URL-адреса.
При настройке веб-перехватчика обработчика событий через портал Azure или CLI служба следует защите от злоупотреблений CloudEvents, чтобы проверить веб-перехватчик вышестоящий. Каждый зарегистрированный вышестоящий URL-адрес веб-перехватчика будет проверен этим механизмом. Заголовок WebHook-Request-Origin
запроса имеет доменное имя xxx.webpubsub.azure.com
службы, и он ожидает, что ответ будет содержать WebHook-Allowed-Origin
это доменное имя или *
.
При выполнении проверки параметр {event}
разрешается в validate
. Например, при попытке задать URL-адресhttp://host.com/api/{event}
, служба попытается настроить запрос.http://host.com/api/validate
И только если ответ действителен, конфигурация может быть настроена успешно.
Сейчас мы не поддерживаем webHook-Request-Rate и WebHook-Request-Callback.
Проверка подлинности между службой и веб-перехватчиком
Для проверки подлинности между службой и веб-перехватчиком можно использовать любой из этих методов.
- Анонимный режим
- Простая проверка подлинности
?code=<code>
предоставляется через настроенный URL-адрес веб-перехватчика в качестве параметра запроса. - Авторизация Microsoft Entra. Дополнительные сведения см. в разделе "Использование управляемого удостоверения в событиях клиента".
Настройка обработчика событий
Настройка с помощью портал Azure
Вы можете добавить обработчик событий в новый концентратор или изменить существующий концентратор.
Чтобы настроить обработчик событий в новом концентраторе, выполните действия.
Перейдите на страницу службы Azure Web PubSub в портал Azure.
В меню выберите пункт Параметры.
Выберите "Добавить ", чтобы создать концентратор и настроить URL-адрес веб-перехватчика на стороне сервера. Примечание. Чтобы добавить обработчик событий в существующий концентратор, выберите концентратор и нажмите кнопку "Изменить".
Введите имя концентратора.
Выберите " Добавить" в разделе "Настройка даже обработчиков".
На странице обработчика событий настройте следующие поля: 1. Введите URL-адрес веб-перехватчика сервера в поле шаблона URL-адреса . 1. Выберите системные события , на которые вы хотите подписаться. 1. Выберите события пользователя, на которые вы хотите подписаться. 1. Выберите метод проверки подлинности для проверки подлинности вышестоящий запросов. 1. Выберите Подтвердить.
Нажмите кнопку "Сохранить" в верхней части страницы "Настройка центра" Параметры.
Настройка с помощью Azure CLI
Используйте команды группы центров Azure CLI az webpubsub, чтобы настроить параметры обработчика событий.
Команды | Description |
---|---|
create |
Создайте параметры концентратора для службы WebPubSub. |
delete |
Удаление параметров концентратора для службы WebPubSub. |
list |
Список всех параметров концентратора для службы WebPubSub. |
show |
Отображение параметров концентратора для службы WebPubSub. |
update |
Обновление параметров концентратора для службы WebPubSub. |
Ниже приведен пример создания двух URL-адресов веб-перехватчика для концентратора MyHub
MyWebPubSub
ресурсов:
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"
Следующие шаги
Используйте эти ресурсы для начала создания собственного приложения:
Кері байланыс
https://aka.ms/ContentUserFeedback.
Жақында қолжетімді болады: 2024 жыл бойы біз GitHub Issues жүйесін мазмұнға арналған кері байланыс механизмі ретінде біртіндеп қолданыстан шығарамыз және оны жаңа кері байланыс жүйесімен ауыстырамыз. Қосымша ақпаратты мұнда қараңыз:Жіберу және пікірді көру