Настройка обработчика событий в службе Azure Web PubSub
Обработчик событий обрабатывает входящие события клиента. Обработчики событий регистрируются и настраиваются в службе с помощью портал Azure или Azure CLI. При активации события клиента служба может отправить событие соответствующему обработчику событий. Служба Web PubSub теперь поддерживает обработчик событий на стороне сервера, который предоставляет общедоступную конечную точку службы для вызова при активации события. Другими словами, он выступает в качестве веб-перехватчика.
Служба Web PubSub предоставляет клиентские события в настроенный вышестоящий веб-перехватчик с помощью протокола HTTP CloudEvents с расширением CloudEvents для обработчика событий Azure Web PubSub.
Параметры обработчика событий
Клиент всегда подключается к концентратору, и можно настроить несколько параметров обработчика событий для концентратора. Порядок параметров обработчика событий имеет более высокий приоритет. При подключении клиента и активации события Web PubSub проходит через настроенные обработчики событий в порядке приоритета и первый соответствующий один выигрыш. Задайте следующие свойства при настройке обработчика событий:
Имя свойства | Description |
---|---|
Шаблон URL-адреса | Определяет шаблон Web PubSub, который используется для оценки URL-адреса вышестоящего веб-перехватчика. |
Пользовательские события | Определяет события пользователя, о том, о чем заботятся текущие параметры обработчика событий. |
Системные события | Определяет системные события, о которым заботятся текущие параметры обработчика событий. |
Проверка подлинности | Определяет метод проверки подлинности между службой Web PubSub и сервером вышестоящего сервера. |
События
Эти события включают события пользователя и системные события. Системные события являются предопределенными событиями, которые активируются во время существования клиента. События пользователей активируются при отправке данных клиентом, имя события пользователя можно настроить с помощью клиентских протоколов, здесь содержится подробное описание.
Тип события | Поддерживаемые значения |
---|---|
Системные события | connect , connected и disconnected |
Пользовательские события | message , или пользовательское имя события после клиентских протоколов |
Шаблон URL
Шаблон URL-адреса поддерживает несколько параметров, которые можно оценить во время выполнения. С помощью этой функции можно легко направлять различные центры или события на разные вышестоящий сервер с одним параметром. Синтаксис ссылок KeyVault также поддерживается, чтобы данные могли храниться в Azure Key Vault безопасно.
Доменное имя URL-адреса не должно содержать синтаксис параметров, например http://{hub}.com
недопустимый шаблон URL-адреса.
Поддерживаемые параметры | Синтаксис | Description | Примеры |
---|---|---|---|
Параметр концентратора | {hub} |
Значением является концентратор, к которому подключается клиент. | При подключении client/hubs/chat клиента к шаблону http://host.com/api/{hub} URL-адреса определяетсяhttp://host.com/api/chat , так как для этого клиента концентратор.chat |
Параметр события | {event} |
Значение триггерного события. event Здесь перечислены значения. Значение события для запросов на защиту от злоупотреблений, validate как описано здесь. |
Если для события настроен шаблон http://host.com/api/{hub}/{event} URL-адреса , когда клиент подключается кclient/hubs/chat , Web PubSub инициирует запрос POST на вычисляемую URL-адрес http://host.com/api/chat/connect при подключении клиента, так как для этого клиентского события концентратор является chat и событие, активируя этот параметр connect обработчика connect событий. |
Ссылочный параметр KeyVault | {@Microsoft.KeyVault(SecretUri=<secretUri>)} |
SecretUri должен быть полным URI плоскости данных секрета в хранилище, при необходимости включая версию, например https://myvault.vault.azure.net/secrets/mysecret/ или https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931 . При использовании ссылки KeyVault также необходимо настроить проверку подлинности между службой Web PubSub и службой KeyVault, см . подробные инструкции. |
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/) |
Проверка подлинности между службой и веб-перехватчиком
Для проверки подлинности между службой и веб-перехватчиком можно использовать любой из этих методов.
- Анонимный режим
- Простая проверка подлинности
?code=<code>
предоставляется через настроенный URL-адрес веб-перехватчика в качестве параметра запроса. - Авторизация Microsoft Entra. Дополнительные сведения см. в разделе "Использование управляемого удостоверения в событиях клиента".
Вышестоящий компонент и проверка
При настройке веб-перехватчика обработчика событий через портал 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
Вы можете добавить обработчик событий в новый концентратор или изменить существующий концентратор.
Чтобы настроить обработчик событий в новом концентраторе, выполните действия.
Перейдите на страницу службы 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"
Следующие шаги
Используйте эти ресурсы для начала создания собственного приложения: