Partilhar via


Reagir aos eventos do Azure SignalR Service

Os eventos do Serviço Azure SignalR permitem que os aplicativos reajam a conexões de cliente conectadas ou desconectadas usando arquiteturas modernas sem servidor. Fá-lo sem a necessidade de códigos complicados ou de serviços de sondagem dispendiosos e ineficientes. Em vez disso, os eventos são enviados por meio da Grade de Eventos do Azure para assinantes, como o Azure Functions, os Aplicativos Lógicos do Azure ou até mesmo para seu próprio ouvinte http personalizado. Com o Azure SignalR, você paga apenas pelo que consome.

Os eventos do Serviço SignalR do Azure são enviados de forma confiável para o serviço de Grade de Eventos que fornece serviços de entrega confiáveis para seus aplicativos por meio de políticas avançadas de repetição e entrega de carta morta. Para saber mais, consulte Entrega e repetição de mensagens da Grade de Eventos.

Event Grid Model

Estado sem servidor

Os eventos do Serviço Azure SignalR só ficam ativos quando as conexões de cliente estão em um estado sem servidor. Se um cliente não rodar para um servidor hub, ele entrará no estado sem servidor. O modo clássico só funciona quando o hub ao qual o cliente se conecta não tem um servidor de hub. O modo sem servidor é recomendado como prática recomendada. Para saber mais detalhes sobre o modo de serviço, consulte Como escolher o modo de serviço.

Eventos disponíveis do Serviço Azure SignalR

A Grade de Eventos usa assinaturas de eventos para rotear mensagens de eventos para assinantes. As subscrições de eventos do Serviço Azure SignalR suportam dois tipos de eventos:

Nome do Evento Description
Microsoft.SignalRService.ClientConnectionConnected Gerado quando uma conexão de cliente é conectada.
Microsoft.SignalRService.ClientConnectionDisconnected Gerado quando uma conexão de cliente é desconectada.

Esquema de eventos

Os eventos do Serviço Azure SignalR contêm todas as informações necessárias para responder às alterações nos seus dados. Você pode identificar um evento do Serviço SignalR do Azure com a propriedade eventType começa com Microsoft.SignalRService. Informações adicionais sobre o uso das propriedades de eventos da Grade de Eventos estão documentadas em Esquema de eventos da Grade de Eventos.

Aqui está um exemplo de um evento conectado à conexão do 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 obter mais informações, consulte Esquema de eventos do Serviço SignalR.

Próximos passos

Saiba mais sobre a Grade de Eventos e experimente os eventos do Serviço Azure SignalR: