Realtidsappar med Azure SignalR Service och Azure Functions

Med Azure SignalR Services i kombination med Azure Functions kan du köra webbappar för meddelanden i realtid i en serverlös miljö. Den här artikeln innehåller en översikt över hur tjänsterna fungerar tillsammans.

Azure SignalR Service och Azure Functions är båda fullständigt hanterade och mycket skalbara tjänster. De gör att du kan fokusera på att skapa program i stället för att hantera infrastruktur. Det är vanligt att använda de två tjänsterna tillsammans för att tillhandahålla realtidskommunikation i en serverlös miljö.

Integrera realtidskommunikation med Azure-tjänster

Med Azure Functions-tjänsten kan du skriva kod på flera språk, inklusive JavaScript, Python, C# och Java som utlöses när händelser inträffar i molnet. Exempel på dessa händelser:

  • HTTP- och webhook-begäranden
  • Periodiska timers
  • Händelser från Azure-tjänster, till exempel:
    • Event Grid
    • Event Hubs
    • Service Bus
    • Ändringsflöde för Azure Cosmos DB
    • Lagringsblobar och köer
    • Logic Apps-anslutningsappar som Salesforce och SQL Server

Genom att använda Azure Functions för att integrera dessa händelser med Azure SignalR Service har du möjligheten att meddela tusentals olika klienter när händelser inträffar.

Några vanliga scenarier för serverlösa realtidsmeddelanden som du kan implementera med Azure Functions och SignalR Service är:

  • Visualisera IoT-enhetstelemetri på en instrumentpanel eller karta i realtid.
  • Uppdatera data i ett program när dokument uppdateras i Azure Cosmos DB.
  • Skicka meddelanden i appen när nya beställningar skapas i Salesforce.

SignalR Service-bindningar för Azure Functions

SignalR Service-bindningar för Azure Functions gör att en Azure Functions-app kan publicera meddelanden till klienter som är anslutna till SignalR Service. Klienter kan ansluta till tjänsten med hjälp av en SignalR-klient-SDK som är tillgänglig i .NET, JavaScript och Java. Fler språk kommer snart.

Ett exempelscenario

Att använda Azure Functions för att integrera med Azure Cosmos DB är ett exempel på hur du använder SignalR Service-bindningar för att skicka realtidsmeddelanden när nya händelser visas i ett Azure Cosmos DB-ändringsflöde.

Azure Cosmos DB, Azure Functions, SignalR Service

  1. En ändring görs i en Azure Cosmos DB-samling.
  2. Ändringshändelsen sprids till Azure Cosmos DB-ändringsflödet.
  3. Azure Cosmos DB-utlösaren aktiverar en Azure-funktion som svar på ändringshändelsen.
  4. SignalR Service-utdatabindningen publicerar ett meddelande till SignalR Service.
  5. SignalR Service publicerar meddelandet till alla anslutna klienter.

Autentisering och användare

Med SignalR Service kan du sända meddelanden till alla eller en delmängd klienter, till exempel sådana som tillhör en enskild användare. Du kan kombinera SignalR Service-bindningar för Azure Functions med App Service-autentisering för att autentisera användare med leverantörer som Microsoft Entra ID, Facebook och X. Du kan sedan skicka meddelanden direkt till dessa autentiserade användare.

Nästa steg

Fullständig information om hur du använder Azure Functions och SignalR Service tillsammans finns i följande resurser:

Information om hur du provar SignalR Service-bindningar för Azure Functions finns i: