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. Eles 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
- 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.
- Atualizar 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
Usar o Azure Functions para integração com o Azure Cosmos DB é um exemplo de utilização das associações do Serviço SignalR para enviar mensagens em tempo real quando novos eventos aparecem em um feed de alterações do Azure Cosmos DB.
- Uma alteração é feita em uma coleção do Azure Cosmos DB.
- O evento change é propagado para o feed de alterações do Azure Cosmos DB.
- O gatilho do Azure Cosmos DB ativa uma Função do Azure em resposta ao evento change.
- A ligação de saída do Serviço SignalR publica uma mensagem para o Serviço SignalR.
- 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 X. Em seguida, você pode enviar mensagens diretamente para esses usuários autenticados.
Próximos passos
Para obter detalhes completos sobre como usar o Azure Functions e o Serviço SignalR juntos, visite os seguintes recursos:
- Desenvolvimento e configuração do Azure Functions com o Serviço SignalR
- Habilitar atualizações automáticas em um aplicativo Web usando o Azure Functions e o Serviço SignalR
Para experimentar as associações do Serviço SignalR para o Azure Functions, consulte: