Reagera på händelser i Azure SignalR Service

Med Azure SignalR Service-händelser kan program reagera på klientanslutningar som är anslutna eller frånkopplade med moderna serverlösa arkitekturer. Det gör det utan att behöva komplicerad kod eller dyra och ineffektiva avsökningstjänster. I stället skickas händelser via Azure Event Grid till prenumeranter som Azure Functions, Azure Logic Apps eller till och med till din egen anpassade http-lyssnare. Med Azure SignalR betalar du bara för det du förbrukar.

Azure SignalR Service-händelser skickas på ett tillförlitligt sätt till Event Grid-tjänsten som tillhandahåller tillförlitliga leveranstjänster till dina program genom omfattande återförsöksprinciper och leverans med obeställbara meddelanden. Mer information finns i Leverans av Event Grid-meddelanden och försök igen.

Event Grid Model

Serverlöst tillstånd

Azure SignalR Service-händelser är bara aktiva när klientanslutningar är i ett serverlöst tillstånd. Om en klient inte dirigeras till en hubbserver hamnar den i serverlöst tillstånd. Klassiskt läge fungerar bara när den hubb som klientanslutningar ansluter till inte har någon hubbserver. Serverlöst läge rekommenderas som bästa praxis. Mer information om tjänstläge finns i Så här väljer du Tjänstläge.

Tillgängliga Azure SignalR Service-händelser

Event Grid använder händelseprenumerationer för att dirigera händelsemeddelanden till prenumeranter. Azure SignalR Service-händelseprenumerationer stöder två typer av händelser:

Händelsenamn beskrivning
Microsoft.SignalRService.ClientConnectionConnected Utlöses när en klientanslutning är ansluten.
Microsoft.SignalRService.ClientConnectionDisconnected Utlöses när en klientanslutning kopplas från.

Händelseschema

Azure SignalR Service-händelser innehåller all information du behöver för att svara på ändringarna i dina data. Du kan identifiera en Azure SignalR Service-händelse med egenskapen eventType som börjar med Microsoft.SignalRService. Ytterligare information om användningen av Event Grid-händelseegenskaper finns dokumenterad i Event Grid-händelseschemat.

Här är ett exempel på en klientanslutningsansluten händelse:

[{
  "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"
}]

Mer information finns i SignalR Service-händelseschema.

Nästa steg

Lär dig mer om Event Grid och ge Azure SignalR Service-händelser ett försök: