Aplikacje w czasie rzeczywistym z usługami Azure SignalR Service i Azure Functions

Usługi Azure SignalR Services połączone z usługą Azure Functions umożliwiają uruchamianie aplikacji internetowych do obsługi komunikatów w czasie rzeczywistym w środowisku bezserwerowym. Ten artykuł zawiera omówienie sposobu współdziałania usług.

Usługi Azure SignalR Service i Azure Functions to w pełni zarządzane, wysoce skalowalne usługi. Umożliwiają one skoncentrowanie się na tworzeniu aplikacji zamiast zarządzania infrastrukturą. Te dwie usługi są często używane razem w celu zapewnienia komunikacji w czasie rzeczywistym w środowisku bezserwerowym.

Integrowanie komunikacji w czasie rzeczywistym z usługami platformy Azure

Usługa Azure Functions umożliwia pisanie kodu w kilku językach, w tym w językach JavaScript, Python, C# i Java, które są wyzwalane za każdym razem, gdy zdarzenia występują w chmurze. Przykładowe zdarzenia to:

  • Żądania HTTP i elementu webhook
  • Czasomierze okresowe
  • Zdarzenia z usług platformy Azure, takie jak:
    • Event Grid
    • Event Hubs
    • Usługa Service Bus
    • Zestawienie zmian usługi Azure Cosmos DB
    • Obiekty blob i kolejki magazynu
    • Łączniki usługi Logic Apps, takie jak Salesforce i SQL Server

Używając usługi Azure Functions do zintegrowania tych zdarzeń z usługą Azure SignalR Service, masz możliwość powiadamiania tysięcy klientów przy każdym wystąpieniu zdarzenia.

Niektóre typowe scenariusze dla bezserwerowej obsługi wiadomości w czasie rzeczywistym, które można zaimplementować przy użyciu usług Azure Functions i SignalR Service, obejmują:

  • Wizualizowanie danych telemetrycznych urządzenia IoT na pulpicie nawigacyjnym lub mapie w czasie rzeczywistym.
  • Aktualizowanie danych w aplikacji podczas aktualizowania dokumentów w usłudze Azure Cosmos DB.
  • Wysyłaj powiadomienia w aplikacji po utworzeniu nowych zamówień w usłudze Salesforce.

Powiązania usługi SignalR Service dla usługi Azure Functions

Powiązania usługi SignalR dla usługi Azure Functions umożliwiają aplikacji Azure Functions publikowanie komunikatów do klientów połączonych z usługą SignalR. Klienci mogą łączyć się z usługą za pomocą zestawu SDK klienta usługi SignalR, który jest dostępny w językach .NET, JavaScript i Java — kolejne języki zostaną dodane wkrótce.

Przykładowy scenariusz

Integrowanie usługi Azure Functions z usługą Azure Cosmos DB to przykład użycia powiązań usługi SignalR Service do wysyłania komunikatów w czasie rzeczywistym, gdy nowe zdarzenia pojawiają się w kanale informacyjnym zmian usługi Azure Cosmos DB.

Azure Cosmos DB, Azure Functions, SignalR Service

  1. W kolekcji usługi Azure Cosmos DB wprowadzono zmiany.
  2. Zdarzenie zmiany jest propagowane do zestawienia zmian usługi Azure Cosmos DB.
  3. Wyzwalacz usługi Azure Cosmos DB aktywuje funkcję platformy Azure w odpowiedzi na zdarzenie zmiany.
  4. Powiązanie wyjściowe usługi SignalR Service publikuje komunikat w usłudze SignalR Service.
  5. Usługa SignalR Service publikuje komunikat dla wszystkich połączonych klientów.

Uwierzytelnianie i użytkownicy

Usługa SignalR Service umożliwia emisję komunikatów do wszystkich lub podzestawu klientów, takich jak należące do jednego użytkownika. Powiązania usługi SignalR Service dla usługi Azure Functions można połączyć z uwierzytelnianiem usługi App Service w celu uwierzytelniania użytkowników z dostawcami, takimi jak Microsoft Entra ID, Facebook i Twitter. Następnie można wysłać komunikaty bezpośrednio do tych uwierzytelnionych użytkowników.

Następne kroki

Aby uzyskać szczegółowe informacje na temat używania usług Azure Functions i SignalR Service razem, odwiedź następujące zasoby:

Aby wypróbować powiązania usługi SignalR Service dla usługi Azure Functions, zobacz: