Поделиться через


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

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

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

Снимок экрана: триггер события службы 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/)

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

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

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

При настройке веб-перехватчика обработчика событий через портал 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-адрес веб-перехватчика на стороне сервера. Примечание. Чтобы добавить обработчик событий в существующий концентратор, выберите концентратор и нажмите кнопку "Изменить".

    Снимок экрана: задание обработчика событий.

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

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

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

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

    Снимок экрана: настройка параметров концентратора в Azure Web PubSub.

Настройка с помощью 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"

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

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