Aplicaciones en tiempo real con Azure SignalR Service y Azure Functions
Azure SignalR Services combinado con Azure Functions permite ejecutar aplicaciones web de mensajería en tiempo real en un entorno sin servidor. En este artículo se proporciona información general sobre cómo funcionan juntos los servicios.
Azure SignalR Service y Azure Functions son servicios totalmente administrados y altamente escalables. Permiten centrarse en la creación de aplicaciones en lugar de administrar la infraestructura. Es habitual usar los dos servicios juntos para proporcionar comunicaciones en tiempo real en un entorno sin servidor.
Integrar las comunicaciones en tiempo real con los servicios de Azure
El servicio Azure Functions permite escribir código en varios lenguajes, incluidos JavaScript, Python, C# y Java que se desencadenan siempre que se produzcan eventos en la nube. Los ejemplos de estos eventos incluyen:
- Solicitudes de HTTP y webhook
- Temporizadores periódicos
- Eventos de los servicios de Azure, como:
- Event Grid
- Event Hubs
- Service Bus
- Fuente de cambios de Azure Cosmos DB
- Blobs y colas de almacenamiento
- Conectores de Logic Apps como Salesforce y SQL Server
Al usar Azure Functions para integrar estos eventos con Azure SignalR Service, tiene la capacidad de enviar notificaciones a miles de clientes cada vez que se produce cualquier evento.
Estos son algunos escenarios comunes de la mensajería sin servidor en tiempo real que puede implementar con Azure Functions y el servicio SignalR incluyen:
- Visualizar la telemetría del dispositivo IoT en un panel o mapa en tiempo real.
- Actualice los datos de una aplicación cuando los documentos se actualicen en Azure Cosmos DB.
- Envíe notificaciones desde la aplicación cuando se crean nuevos pedidos en Salesforce.
Enlaces de SignalR Service para Azure Functions
Los enlaces de SignalR Service para Azure Functions permiten que una aplicación de Azure Functions publique mensajes en los clientes conectados a SignalR Service. Los clientes pueden conectarse al servicio mediante un SDK de cliente de SignalR que esté disponible en .NET, JavaScript y Java (tendrá más lenguajes disponibles en breve).
Un escenario de ejemplo
El uso de Azure Functions para integrarse con Azure Cosmos DB es un ejemplo de uso de los enlaces de SignalR Service para enviar mensajes en tiempo real cuando aparecen nuevos eventos en una fuente de cambios de Azure Cosmos DB.
- Se realiza un cambio en una colección de Azure Cosmos DB.
- El evento de cambio se propaga a la fuente de cambios de Azure Cosmos DB.
- El desencadenador de Azure Cosmos DB activa una función de Azure en respuesta al evento de cambio.
- El enlace de salida de SignalR Service publica un mensaje en SignalR Service.
- SignalR Service publica el mensaje en todos los clientes conectados.
Autenticación y usuarios
SignalR Service permite difundir mensajes a todos o a un subconjunto de clientes, como los que pertenecen a un único usuario. Puede combinar los enlaces de SignalR Service para Azure Functions con la autenticación de App Service para autenticar a los usuarios con proveedores como Microsoft Entra ID, Facebook y X. A continuación, puede enviar mensajes directamente a estos usuarios autenticados.
Pasos siguientes
Para más información sobre cómo usar Azure Functions y SignalR Service juntos, consulte los siguientes recursos:
- Desarrollo y configuración de Azure Functions con SignalR Service
- Habilitar las actualizaciones automáticas en una aplicación web mediante Azure Functions y SignalR Service
Para probar los enlaces de SignalR Service para Azure Functions, consulte:
- Azure SignalR Service Serverless Quickstart - C# (Guía de inicio rápido de Azure SignalR Service sin servidor: C#).
- Azure SignalR Service Serverless Quickstart - JavaScript (Guía de inicio rápido de Azure SignalR Service sin servidor: JavaScript).
- Habilitar actualizaciones automáticas en una aplicación web mediante Azure Functions y SignalR Service.