Reacting to Azure SignalR Service events (Реагирование на события службы Azure SignalR)

События службы Azure SignalR позволяют приложениям реагировать на подключенные или отключенные клиентские подключения с использованием современных бессерверных архитектур. При этом не требуется сложный код или дорогостоящие и неэффективные службы опроса. Вместо этого, события отправляются через службу Сетка событий Azure подписчикам, таким как Функции Azure, Azure Logic Apps или даже в настраиваемый прослушиватель http. Используя Azure SignalR, вы платите только за то, что используете.

Служба Azure SignalR события надежно отправляются в службу "Сетка событий", которая предоставляет надежные службы доставки приложениям с помощью расширенных политик повторных попыток и доставки недоставленных писем. Дополнительные сведения см. в разделе Доставка сообщения сетки событий и повторная попытка.

Event Grid Model

Бессерверное состояние

События службы Azure SignalR активны только тогда, когда клиентские подключения находятся в бессерверном состоянии. Если клиент не направляется на центральный сервер, он переходит в бессерверное состояние. Классический режим работает только в том случае, если хаб, к которому подключаются клиентские подключения, не имеет хаб-сервера. Рекомендуется использовать бессерверный режим. Чтобы узнать больше о сервисном режиме, см. раздел Как выбрать сервисный режим.

Доступные события службы Azure SignalR

Сетка событий использует подписки на события для маршрутизации сообщений о событиях подписчикам. Подписки на события службы Azure SignalR поддерживают два типа событий:

Имя события Description
Microsoft.SignalRService.ClientConnectionConnected Возникает при подключении клиента.
Microsoft.SignalRService.ClientConnectionDisconnected Возникает при отключении клиентского соединения.

Схема событий

События службы Azure SignalR содержат всю информацию, необходимую для реагирования на изменения в ваших данных. Вы можете определить событие Служба Azure SignalR с помощью свойства eventType, начинающегося с Microsoft.SignalRService. Дополнительная информация об использовании свойств событий Event Grid задокументирована в схеме событий Event Grid.

Ниже приведен пример события подключения клиента:

[{
  "topic": "/subscriptions/{subscription-id}/resourceGroups/signalr-rg/providers/Microsoft.SignalRService/SignalR/signalr-resource",
  "subject": "/hub/chat",
  "eventType": "Microsoft.SignalRService.ClientConnectionConnected",
  "eventTime": "2019-06-10T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "timestamp": "2019-06-10T18:41:00.9584103Z",
    "hubName": "chat",
    "connectionId": "crH0uxVSvP61p5wkFY1x1A",
    "userId": "user-eymwyo23"
  },
  "dataVersion": "1.0",
  "metadataVersion": "1"
}]

Дополнительные сведения см. в разделе Схема событий службы SignalR.

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

Узнайте больше об Event Grid и попробуйте события службы Azure SignalR: