Reagieren auf Azure SignalR Service-Ereignisse

Azure SignalR Service-Ereignisse ermöglichen es Anwendungen, auf Clientverbindungen zu reagieren, die über moderne serverlose Architekturen verbunden oder getrennt werden. Dies geschieht ohne komplizierten Code oder teure und ineffiziente Abrufdienste. Stattdessen werden Ereignisse über Azure Event Grid an Abonnenten wie Azure Functions, Azure Logic Apps oder sogar Ihren eigenen benutzerdefinierten HTTP-Listener gepusht. Bei Azure SignalR zahlen Sie nur für die tatsächliche Nutzung.

Azure SignalR Service-Ereignisse werden zuverlässig an den Event Grid-Dienst gesendet, der zuverlässige Zustellungsdienste für Ihre Anwendungen über umfangreiche Wiederholungsrichtlinien und Die Zustellung von Inschriftschreiben bereitstellt. Weitere Informationen finden Sie unter Event Grid – Übermittlung und Wiederholung von Nachrichten.

Event Grid Model

Serverloser Zustand

Azure SignalR Service-Ereignisse sind nur aktiv, wenn sich Clientverbindungen in einem serverlosen Zustand befinden. Wenn ein Client nicht an einen Hubserver weitergeleitet wird, wechselt er in den serverlosen Zustand. Der klassische Modus funktioniert nur, wenn der Hub, mit dem die Clientverbindungen eine Verbindung herstellen, keinen Hubserver besitzt. Der serverlose Modus wird als bewährte Methode empfohlen. Weitere Informationen zum Dienstmodus finden Sie unter Auswählen des Dienstmodus.

Verfügbare Azure SignalR Service-Ereignisse

Event Grid verwendet Ereignisabonnements zum Weiterleiten von Ereignisnachrichten an Abonnenten. Azure SignalR Service-Ereignisabonnements unterstützen zwei Arten von Ereignissen:

Veranstaltungsname Beschreibung
Microsoft.SignalRService.ClientConnectionConnected Wird ausgelöst, wenn eine Clientverbindung verbunden wird.
Microsoft.SignalRService.ClientConnectionDisconnected Wird ausgelöst, wenn eine Clientverbindung getrennt wird.

Ereignisschema

Azure SignalR Service-Ereignisse enthalten alle Informationen, die Sie zur Reaktion auf Änderungen in Ihren Daten benötigen. Sie können ein Azure SignalR Service-Ereignis mit der eventType-Eigenschaft identifizieren, die mit Microsoft.SignalRService beginnt. Weitere Informationen zur Verwendung von Event Grid-Ereigniseigenschaften finden Sie unter Event Grid-Ereignisschema.

Hier ist ein Beispiel für ein clientverbindungsgebundenes Ereignis:

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

Weitere Informationen finden Sie unter SignalR Service-Ereignisschema.

Nächste Schritte

Erfahren Sie mehr über Event Grid, und probieren Sie Azure SignalR Service-Ereignisse aus: