Partage via


Applications en temps réel avec Azure SignalR Service et Azure Functions

L’association d’Azure SignalR Services à Azure Functions vous permet d’exécuter des applications web de messagerie en temps réel dans un environnement serverless. Cet article fournit une vue d’ensemble du fonctionnement coordonné des services.

Azure SignalR Service et Azure Functions sont tous deux des services complètement managés et hautement évolutifs. Ils vous permettent de vous concentrer sur le développement d’applications plutôt que sur la gestion de l’infrastructure. Il est courant d’utiliser les deux services ensemble pour fournir des communications en temps réel dans un environnement serverless.

Intégrer des communications en temps réel avec les services Azure

Le service Azure Functions permet d’écrire du code dans plusieurs langues (notamment JavaScript, Python, C# et Java), qui se déclenche chaque fois que des événements se produisent dans le cloud. Voici des exemples d’événements :

  • Requêtes HTTP et de webhook
  • Minuteurs périodiques
  • Événements de services Azure, tels que :
    • Event Grid
    • Event Hubs
    • Bus de services
    • Azure Cosmos DB - Flux de modification
    • Stockage (blob et files d’attente)
    • Connecteurs d’applications logiques, tels que Salesforce et SQL Server

En utilisant Azure Functions pour intégrer ces événements avec le service Azure SignalR, vous pouvez avertir des milliers de clients chaque fois que des événements se produisent.

Voici quelques scénarios courants pour la messagerie serverless en temps réel que vous pouvez implémenter avec Azure Functions et SignalR :

  • Visualiser la télémétrie d’appareil IoT sur une carte ou un tableau de bord en temps réel.
  • Mettre à jour des données dans une application lors de la mise à jour de documents dans Azure Cosmos DB.
  • Envoyer des notifications dans l’application lors de la création de nouveaux ordres dans Salesforce.

Liaisons de service SignalR pour Azure Functions

Les liaisons de service SignalR pour Azure Functions permettent à une application Azure Functions de publier des messages destinés aux clients connectés au service SignalR. Les clients peuvent se connecter au service à l’aide d’un kit de développement logiciel (SDK) client SignalR disponible en .NET, JavaScript et Java (d’autres langages seront bientôt disponibles).

Exemple de scénario

Utiliser une intégration d’Azure Functions avec Azure Cosmos DB constitue un exemple d’utilisation des liaisons de SignalR service pour envoyer des messages en temps réel lorsque de nouveaux événements apparaissent dans un flux de modification Azure Cosmos DB.

Azure Cosmos DB, Azure Functions, service SignalR

  1. Une modification est apportée dans une collection Azure Cosmos DB.
  2. L’événement de changement est propagé vers le flux de modification Azure Cosmos DB.
  3. Le déclencheur Azure Cosmos DB active une fonction Azure en réponse à l’événement de changement.
  4. La liaison de sortie de SignalR Service publie un message pour SignalR Service.
  5. SignalR Service publie le message pour tous les clients connectés.

Authentification et utilisateurs

SignalR Service vous permet de diffuser des messages auprès de tous les clients ou uniquement à un sous-ensemble de clients, comme ceux appartenant à un seul utilisateur. Vous pouvez associer les liaisons SignalR Service pour Azure Functions avec l’authentification Azure App Service afin d’authentifier les utilisateurs avec des fournisseurs tels que Microsoft Entra ID, Facebook et X. Vous pouvez alors envoyer des messages directement aux utilisateurs authentifiés.

Étapes suivantes

Pour plus d’informations sur l’utilisation d’Azure Functions et de SignalR Service ensemble, consultez les ressources suivantes :

Pour tester les liaisons SignalR Service pour Azure Functions, consultez :