Compartir por


Reacción ante eventos de Azure SignalR Service

Los eventos de Azure SignalR Service permiten a las aplicaciones reaccionar a las conexiones de cliente que se conectan o desconectan mediante modernas arquitecturas sin servidor. Esto se consigue sin necesidad de código complejo ni de servicios de sondeo costosos e ineficientes. En su lugar, se insertan eventos mediante Azure Event Grid a los suscriptores como Azure Functions, Azure Logic Apps o incluso su propio cliente de escucha http. Con Azure SignalR, solo paga por lo que consume.

Los eventos de Azure SignalR Service se envían de forma confiable al servicio Event Grid que proporciona servicios de entrega confiables a las aplicaciones a través de directivas de reintento enriquecidas y entrega de mensajes fallidos. Para más información, consulte Entrega y reintento de entrega de mensajes de Event Grid.

Event Grid Model

Estado sin servidor

Los eventos de Azure SignalR Service solo están activos si las conexiones de cliente están en estado sin servidor. Si un cliente no se enruta a un servidor concentrador, entra en estado sin servidor. El modo clásico solo funciona si el centro al que se conectan las conexiones de cliente no tiene un servidor concentrador. Es preferible usar el modo sin servidor como procedimiento recomendado. Para más información acerca del modo de servicio, consulte cómo elegir el modo de servicio.

Eventos disponibles de Azure SignalR Service

Event Grid usa las suscripciones a eventos para enrutar los mensajes de eventos a los suscriptores. Las suscripciones a eventos de Azure SignalR Service admiten dos tipos de eventos:

Nombre del evento Descripción
Microsoft.SignalRService.ClientConnectionConnected Se genera cuando una conexión de cliente está conectada.
Microsoft.SignalRService.ClientConnectionDisconnected Se genera cuando una conexión de cliente está desconectada.

Esquema del evento

Los eventos de Azure SignalR Service contienen toda la información necesaria para responder a cualquier cambio que se produzca en los datos. Puede identificar un evento de Azure SignalR Service con la propiedad eventType que comienza con Microsoft.SignalRService. Puede encontrar información adicional sobre el uso de las propiedades de evento de Event Grid en Esquema de eventos de Event Grid.

Este es un ejemplo de un evento conectado de conexión de cliente:

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

Para más información, consulte el esquema de eventos de SignalR Service.

Pasos siguientes

Obtenga más información sobre Event Grid y pruebe los eventos de Azure SignalR Service: