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.
- W kolekcji usługi Azure Cosmos DB wprowadzono zmiany.
- Zdarzenie zmiany jest propagowane do zestawienia zmian usługi Azure Cosmos DB.
- Wyzwalacz usługi Azure Cosmos DB aktywuje funkcję platformy Azure w odpowiedzi na zdarzenie zmiany.
- Powiązanie wyjściowe usługi SignalR Service publikuje komunikat w usłudze SignalR Service.
- 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 X. Następnie możesz wysył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:
- Programowanie i konfigurowanie usługi Azure Functions za pomocą usługi SignalR Service
- Włączanie automatycznych aktualizacji w aplikacji internetowej przy użyciu usług Azure Functions i SignalR Service
Aby wypróbować powiązania usługi SignalR Service dla usługi Azure Functions, zobacz: