Reakce na události služby Azure SignalR Service
Události služby Azure SignalR umožňují aplikacím reagovat na připojení klientů připojená nebo odpojená pomocí moderních bezserverových architektur. Dělá to bez nutnosti složitého nebo nákladného a neefektivního dotazování služeb. Místo toho se události předávají prostřednictvím Azure Event Gridu odběratelům, jako jsou Azure Functions, Azure Logic Apps nebo dokonce vlastní naslouchací proces HTTP. S Azure SignalR platíte jenom za to, co využíváte.
Události služby Azure SignalR se spolehlivě odesílají do služby Event Grid, která poskytuje spolehlivé služby doručování aplikací prostřednictvím bohatých zásad opakování a doručení nedoručených dopisů. Další informace najdete v tématu Doručování zpráv event Gridu a opakování.
Bezserverový stav
Události služby Azure SignalR jsou aktivní pouze v případech, kdy jsou připojení klientů v bezserverovém stavu. Pokud klient nesměruje na centrální server, přejde do stavu bez serveru. Klasický režim funguje jenom v případech, kdy centrum, ke kterému se připojení klientů připojuje, nemá centrální server. Doporučeným postupem je bezserverový režim. Další informace o režimu služby najdete v tématu Jak zvolit režim služby.
Dostupné události služby Azure SignalR
Event Grid používá odběry událostí ke směrování zpráv událostí odběratelům. Odběry událostí služby Azure SignalR podporují dva typy událostí:
Název události | Popis |
---|---|
Microsoft.SignalRService.ClientConnectionConnected |
Vyvolá se při připojení klienta. |
Microsoft.SignalRService.ClientConnectionDisconnected |
Vyvolá se při odpojení připojení klienta. |
Schéma událostí
Události služby Azure SignalR obsahují všechny informace, které potřebujete k reakci na změny dat. Událost služby Azure SignalR můžete identifikovat pomocí vlastnosti eventType, která začíná microsoft.SignalRService. Další informace o použití vlastností událostí Event Gridu jsou popsané ve schématu událostí Event Gridu.
Tady je příklad události připojení klienta:
[{
"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"
}]
Další informace najdete ve schématu událostí služby SignalR.
Další kroky
Přečtěte si další informace o Event Gridu a poskytněte událostem služby Azure SignalR: