Aplikace v reálném čase se službou Azure SignalR a Azure Functions

Služby Azure SignalR v kombinaci se službou Azure Functions umožňují spouštět webové aplikace pro zasílání zpráv v reálném čase v bezserverovém prostředí. Tento článek obsahuje přehled o tom, jak služby spolupracují.

Služba Azure SignalR a Azure Functions jsou plně spravované a vysoce škálovatelné služby. Umožňují soustředit se na vytváření aplikací místo správy infrastruktury. Tyto dvě služby se běžně používají k poskytování komunikace v reálném čase v bezserverovém prostředí.

Integrace komunikace v reálném čase do služeb Azure

Služba Azure Functions umožňuje psát kód v několika jazycích, včetně JavaScriptu, Pythonu, C# a Javy, která se aktivuje při každém výskytu událostí v cloudu. Příklady těchto událostí:

  • HTTP a webhookové požadavky
  • Pravidelné časovače
  • Události ze služeb Azure, například:
    • Event Grid
    • Event Hubs
    • Service Bus
    • Kanál změn ve službě Azure Cosmos DB
    • Objekty blob a fronty úložiště
    • Konektory Logic Apps jako například Salesforce a SQL Server

Použitím služby Azure Functions k integraci těchto událostí do služby Azure SignalR získáte možnost oznámit tisícům klientů, že došlo k události.

Mezi běžné scénáře bezserverového zasílání zpráv v reálném čase, které můžete implementovat s Azure Functions a službou SignalR, patří:

  • Vizualizace telemetrie zařízení IoT na řídicím panelu nebo mapě v reálném čase
  • Aktualizace dat v aplikaci při aktualizaci dokumentů ve službě Azure Cosmos DB
  • Odesílání oznámení v aplikaci při vytváření nových objednávek v Salesforce

Vazby služby SignalR pro Azure Functions

Vazby služby SignalR pro Azure Functions umožňují aplikaci Azure Functions publikovat zprávy klientům připojeným ke službě SignalR. Klienti se k této službě mohou připojit pomocí klientské sady SDK pro SignalR, která je k dispozici v jazycích .NET, JavaScript a Java (další jazyky brzy přibudou).

Ukázkový scénář

Použití azure Functions k integraci se službou Azure Cosmos DB je příkladem použití vazeb služby SignalR k odesílání zpráv v reálném čase, když se nové události objeví v kanálu změn služby Azure Cosmos DB.

Azure Cosmos DB, Azure Functions, služba SignalR

  1. V kolekci Azure Cosmos DB se provede změna.
  2. Událost změny se rozšíří do kanálu změn služby Azure Cosmos DB.
  3. Trigger služby Azure Cosmos DB aktivuje funkci Azure Functions v reakci na událost změny.
  4. Výstupní vazba služby SignalR Service publikuje zprávu do služby SignalR.
  5. Služba SignalR publikuje zprávu všem připojeným klientům.

Ověřování a uživatelé

Služba SignalR umožňuje vysílat zprávy všem nebo podmnožině klientů, jako jsou ty, které patří jednomu uživateli. Vazby služby SignalR pro Azure Functions můžete kombinovat s ověřováním služby App Service a ověřovat uživatele pomocí poskytovatelů, jako je Microsoft Entra ID, Facebook a Twitter. Těmto ověřeným uživatelům můžete zasílat zprávy přímo.

Další kroky

Úplné podrobnosti o tom, jak používat Azure Functions a službu SignalR, najdete v následujících zdrojích informací:

Pokud si chcete vyzkoušet vazby služby SignalR pro Azure Functions, přečtěte si: