Aplicativos em tempo real com o Serviço do Azure SignalR e o Azure Functions
Os Serviços Azure SignalR combinados com Azure Functions permitem-lhe executar aplicações web de mensagens em tempo real num ambiente sem servidor. Esse 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 escalonáveis. Eles permitem que você se concentre na criação de aplicativos em vez de no gerenciamento da infraestrutura. É comum usar os dois serviços juntos para fornecer comunicações em tempo real em um ambiente sem servidor.
Integrar a comunicação em tempo real com os serviços do Azure
O serviço Azure Functions permite que você escreva código em várias linguagens, incluindo JavaScript, Python, C# e Java, que é acionado sempre que ocorrem eventos na nuvem. Exemplos desses eventos incluem:
- Solicitações HTTP e webhook
- Temporizadores periódicos
- Eventos de serviços do Azure, como:
- Grade de Eventos
- Hubs de Eventos
- Barramento de Serviço
- Feed de alterações do Azure Cosmos DB
- Blobs e filas de armazenamento
- Conectores de Aplicativos Lógicos, como Salesforce e SQL Server
Usando o Azure Functions para integrar esses eventos ao Azure SignalR Service, você tem a capacidade de notificar milhares de clientes, sempre que ocorrem eventos.
Alguns cenários comuns para mensagens sem servidor em tempo real que você pode implementar com o Azure Functions e o SignalR Service incluem:
- Visualize a telemetria do dispositivo IoT em um painel ou mapa em tempo real.
- Atualize os dados numa aplicação quando os documentos são atualizados no Azure Cosmos DB.
- Envie notificações no aplicativo quando novos pedidos forem criados no Salesforce.
Associações do Serviço SignalR para o Azure Functions
As associações do SignalR Service ao Azure Functions permitem que um aplicativo de funções do Azure publique mensagens em clientes conectados ao SignalR Service. Os clientes podem se conectar ao serviço usando um SDK cliente do SignalR que está disponível em .NET, JavaScript e Java, com mais linguagens em breve.
Um cenário de exemplo
A utilização do Azure Functions para integração com o Azure Cosmos DB é um exemplo de utilização das ligações do Serviço SignalR para enviar mensagens em tempo real quando novos eventos aparecem num feed de alterações do Azure Cosmos DB.
- É feita uma alteração numa coleção Microsoft Azure Cosmos DB.
- O evento de alteração é 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 de alteração.
- 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 os usuários
O serviço SignalR permite transmitir mensagens para todos ou para um subconjunto de clientes, como aqueles pertencentes a um único usuário. É possível combinar as associações do Serviço do 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, é possível enviar mensagens diretamente para esses usuários autenticados.
Próximas etapas
Para obter detalhes completos sobre como usar o Azure Functions e o Serviço do SignalR juntos, acesse estes recursos:
- Desenvolvimento e configuração do Azure Functions com o Serviço do SignalR
- Habilite atualizações automáticas em um aplicativo Web usando Azure Functions e SignalR Service
Para experimentar as ligações do Serviço SignalR para Azure Functions, veja: