Aplicativos em tempo real com o Serviço Azure SignalR e o Azure Functions

Os Serviços SignalR do Azure combinados com o Azure Functions permitem executar aplicativos Web de mensagens em tempo real em um ambiente sem servidor. Este artigo fornece uma visão geral de como os serviços funcionam juntos.

O Serviço Azure SignalR e o Azure Functions são serviços totalmente gerenciados e altamente escaláveis que permitem que você se concentre na criação de aplicativos em vez de gerenciar a infraestrutura. É comum usar os dois serviços juntos para fornecer comunicações em tempo real em um ambiente sem servidor.

Integrar comunicações em tempo real com serviços do Azure

O serviço Azure Functions permite escrever código em várias linguagens, incluindo JavaScript, Python, C# e Java, que é acionado sempre que ocorrem eventos na nuvem. Exemplos destes eventos incluem:

  • Pedidos de HTTP e webhook
  • Temporizadores periódicos
  • Eventos dos serviços do Azure, como:
    • Event Grid
    • Hubs de Eventos do
    • Service Bus
    • Feed de alterações do Azure Cosmos DB
    • Blobs e filas de armazenamento
    • Conectores do serviço Logic Apps, como Salesforce e SQL Server

Ao utilizar as Funções do Azure para integrar estes eventos com o Serviço Azure SignalR, pode notificar milhares de clientes sempre que os eventos ocorrem.

Alguns cenários comuns de mensagens em tempo real sem servidor que pode implementar com as Funções do Azure e o Serviço SignalR incluem:

  • Visualize a telemetria do dispositivo IoT em um painel ou mapa em tempo real.
  • Atualize dados em um aplicativo quando os documentos forem atualizados no Azure Cosmos DB.
  • Envie notificações no aplicativo quando novos pedidos forem criados no Salesforce.

Enlaces do Serviço SignalR para as Funções do Azure

Os enlaces do Serviço SignalR para as Funções do Azure permitem que uma aplicação das Função do Azure publique mensagens para clientes ligados ao Serviço SignalR. Os clientes podem ligar-se ao serviço utilizando um cliente SignalR SDK disponível em .NET, JavaScript e Java, e outras linguagens brevemente disponíveis.

Cenário de exemplo

Um exemplo de como usar as associações do Serviço SignalR é usar o Azure Functions para integrar com o Azure Cosmos DB e o Serviço SignalR para enviar mensagens em tempo real quando novos eventos aparecem em um feed de alterações do Azure Cosmos DB.

Azure Cosmos DB, Azure Functions, SignalR Service

  1. Uma alteração é feita em uma coleção do Azure Cosmos DB.
  2. O evento change é propagado para o feed de alterações do Azure Cosmos DB.
  3. Um Azure Functions é acionado pelo evento change usando o gatilho do Azure Cosmos DB.
  4. A ligação de saída do Serviço SignalR publica uma mensagem para o Serviço SignalR.
  5. O Serviço SignalR publica a mensagem para todos os clientes conectados.

Autenticação e utilizadores

O Serviço SignalR permite que você transmita mensagens para todos ou um subconjunto de clientes, como aqueles pertencentes a um único usuário. Você pode combinar as associações do Serviço SignalR para o Azure Functions com a autenticação do Serviço de Aplicativo para autenticar usuários com provedores como Microsoft Entra ID, Facebook e Twitter. Em seguida, pode enviar mensagens diretamente para estes utilizadores autenticados.

Próximos passos

Para obter detalhes completos sobre como usar o Azure Functions e o Serviço SignalR juntos, visite os seguintes recursos:

Para experimentar as associações do Serviço SignalR para o Azure Functions, consulte: