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, které 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
    • Centra událostí
    • 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ář

Příkladem použití vazeb služby SignalR service je použití azure Functions k integraci se službou Azure Cosmos DB a službou 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, SignalR Service

  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. Služba Azure Functions se aktivuje událostí změny pomocí triggeru služby Azure Cosmos DB.
  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: