Compartilhar via


Reagindo aos eventos do Serviço do Azure SignalR

Os eventos do Serviço do Azure SignalR permitem que os aplicativos reajam a conexões de cliente conectadas ou desconectadas usando arquiteturas modernas sem servidor. Isso é feito sem a necessidade de código complicado ou serviços de sondagem caros e ineficientes. Em vez disso, os eventos são enviados por push por meio da Grade de Eventos do Azure a assinantes como Azure Functions, Aplicativos Lógicos do Azure ou até mesmo o próprio ouvinte HTTP personalizado. Com o Azure SignalR, você paga apenas pelo que usa.

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 cartas mortas. Para saber mais, confira Entrega e repetição de mensagem da Grade de Eventos.

Event Grid Model

Estado sem servidor

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

Eventos do Serviço do Azure SignalR disponíveis

A Grade de eventos usa assinaturas de evento para rotear mensagens de evento para os assinantes. As assinaturas de eventos do Serviço do Azure SignalR dão suporte a dois tipos de eventos:

Nome do evento Descrição
Microsoft.SignalRService.ClientConnectionConnected Gerado quando uma conexão de cliente é realizada.
Microsoft.SignalRService.ClientConnectionDisconnected Gerado quando uma conexão de cliente é desconectada.

Esquema do evento

Os eventos do Serviço do Azure SignalR contêm todas as informações que você precisa para responder às alterações em seus dados. Você pode identificar um evento do Serviço SignalR do Azure com a propriedade eventType começa com Microsoft.SignalRService. Encontre informações adicionais sobre o uso de propriedades dos eventos da Grade de Eventos em Esquema de eventos da Grade de Eventos.

Aqui está um exemplo de um evento conectado de conexão 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 saber mais, veja Esquemas de eventos do Serviço do SignalR.

Próximas etapas

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