Sdílet prostřednictvím


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í.

Event Grid Model

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: