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