Reacting to Azure SignalR Service events (Реагирование на события службы Azure SignalR)
События службы Azure SignalR позволяют приложениям реагировать на подключенные или отключенные клиентские подключения с использованием современных бессерверных архитектур. При этом не требуется сложный код или дорогостоящие и неэффективные службы опроса. Вместо этого, события отправляются через службу Сетка событий Azure подписчикам, таким как Функции Azure, Azure Logic Apps или даже в настраиваемый прослушиватель http. Используя Azure SignalR, вы платите только за то, что используете.
Служба Azure SignalR события надежно отправляются в службу "Сетка событий", которая предоставляет надежные службы доставки приложениям с помощью расширенных политик повторных попыток и доставки недоставленных писем. Дополнительные сведения см. в разделе Доставка сообщения сетки событий и повторная попытка.
Бессерверное состояние
События службы 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: