Бөлісу құралы:


Обработчик событий в службе Azure Web PubSub

Обработчик событий обрабатывает входящие события клиента. Обработчики событий регистрируются и настраиваются в службе с помощью портал Azure или Azure CLI. При активации события клиента служба может отправить событие соответствующему обработчику событий. Служба Web PubSub теперь поддерживает обработчик событий на стороне сервера, который предоставляет общедоступную конечную точку службы для вызова при активации события. Другими словами, он выступает в качестве веб-перехватчика.

Служба Web PubSub предоставляет клиентские события в веб-перехватчик вышестоящий с помощью протокола HTTP CloudEvents.

Для каждого события служба сформулирует HTTP-запрос POST к зарегистрированной конечной точке вышестоящий и ожидает HTTP-ответ.

Данные всегда отправляются из службы на сервер в формате CloudEvents binary.

Screenshot of Web PubSub service event trigger.

Вышестоящий компонент и проверка

При настройке конечной точки веб-перехватчика 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.

Проверка подлинности между службой и веб-перехватчиком

Для проверки подлинности между службой и веб-перехватчиком можно использовать любой из этих методов.

Настройка обработчика событий

Настройка с помощью портал Azure

Вы можете добавить обработчик событий в новый концентратор или изменить существующий концентратор.

Чтобы настроить обработчик событий в новом концентраторе, выполните действия.

  1. Перейдите на страницу службы Azure Web PubSub в портал Azure.

  2. В меню выберите пункт Параметры.

  3. Выберите "Добавить ", чтобы создать концентратор и настроить URL-адрес веб-перехватчика на стороне сервера. Примечание. Чтобы добавить обработчик событий в существующий концентратор, выберите концентратор и нажмите кнопку "Изменить".

    Screenshot of setting the event handler.

  4. Введите имя концентратора.

  5. Выберите " Добавить" в разделе "Настройка даже обработчиков".

  6. На странице обработчика событий настройте следующие поля: 1. Введите URL-адрес веб-перехватчика сервера в поле шаблона URL-адреса . 1. Выберите системные события , на которые вы хотите подписаться. 1. Выберите события пользователя, на которые вы хотите подписаться. 1. Выберите метод проверки подлинности для проверки подлинности вышестоящий запросов. 1. Выберите Подтвердить. Screenshot of Azure Web PubSub Configure Event Handler.

  7. Нажмите кнопку "Сохранить" в верхней части страницы "Настройка центра" Параметры.

    Screenshot of Azure Web PubSub Configure Hub Settings.

Настройка с помощью Azure CLI

Используйте команды группы центров Azure CLI az webpubsub, чтобы настроить параметры обработчика событий.

Команды Description
create Создайте параметры концентратора для службы WebPubSub.
delete Удаление параметров концентратора для службы WebPubSub.
list Список всех параметров концентратора для службы WebPubSub.
show Отображение параметров концентратора для службы WebPubSub.
update Обновление параметров концентратора для службы WebPubSub.

Ниже приведен пример создания двух URL-адресов веб-перехватчика для концентратора MyHubMyWebPubSub ресурсов:

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"

Следующие шаги

Используйте эти ресурсы для начала создания собственного приложения: