Valós idejű alkalmazások az Azure SignalR Szolgáltatással és az Azure Functions szolgáltatással

Az Azure SignalR Services és az Azure Functions együttes használatával valós idejű üzenetkezelési webalkalmazásokat futtathat kiszolgáló nélküli környezetben. Ez a cikk áttekintést nyújt a szolgáltatások együttműködéséről.

Az Azure SignalR Service és az Azure Functions egyaránt teljes mértékben felügyelt, nagy mértékben skálázható szolgáltatások, amelyek lehetővé teszik, hogy az infrastruktúra kezelése helyett az alkalmazások létrehozására összpontosítson. Gyakori, hogy a két szolgáltatás együttes használata valós idejű kommunikációt biztosít kiszolgáló nélküli környezetben.

Valós idejű kommunikáció integrálása Azure-szolgáltatásokkal

Az Azure Functions szolgáltatással több nyelven írhat kódot, beleértve a JavaScriptet, a Pythont, a C#-ot és a Java-t, amelyek eseményt váltanak ki a felhőben. Ilyen események például a következők:

  • HTTP- és webhookkérések
  • Rendszeres időzítők
  • Azure-szolgáltatásokból származó események, például:
    • Event Grid
    • Event Hubs
    • Service Bus
    • Azure Cosmos DB változáscsatorna
    • Tárolóblobok és üzenetsorok
    • Logic Apps-összekötők, például a Salesforce és az SQL Server

Ha az Azure Functionst használja az események Azure SignalR szolgáltatással való integrálására, akkor több ezer ügyfelet értesíthet a bekövetkező eseményekről.

Néhány gyakori forgatókönyv az Azure Functions és a SignalR szolgáltatással megvalósítható valós idejű, kiszolgáló nélküli üzenetküldésre:

  • IoT-eszköz telemetriai adatainak megjelenítése valós idejű irányítópulton vagy térképen.
  • Adatok frissítése egy alkalmazásban, amikor a dokumentumok frissülnek az Azure Cosmos DB-ben.
  • Alkalmazáson belüli értesítések küldése, ha új rendelések jönnek létre a Salesforce-ban.

SignalR-szolgáltatáskötések az Azure Functionshöz

A SignalR szolgáltatás Azure Functionshöz készült kötései lehetővé teszik az Azure-függvényalkalmazásoknak, hogy üzeneteket küldjenek a SignalR szolgáltatáshoz csatlakoztatott ügyfeleknek. Az ügyfelek egy SignalR ügyféloldali SDK-val csatlakozhatnak a szolgáltatáshoz, amely jelenleg .NET, JavaScript és Java nyelven (és hamarosan további nyelveken) érhető el.

Példaforgatókönyv

A SignalR-szolgáltatás kötéseinek használatára példaként az Azure Functions használatával integrálható az Azure Cosmos DB-vel és a SignalR Service-vel valós idejű üzenetek küldéséhez, amikor új események jelennek meg az Azure Cosmos DB változáscsatornáján.

Azure Cosmos DB, Azure Functions, SignalR Service

  1. Módosítás történik egy Azure Cosmos DB-gyűjteményben.
  2. A változásesemény propagálása az Azure Cosmos DB változáscsatornába történik.
  3. Az Azure Functionst a változásesemény aktiválja az Azure Cosmos DB-eseményindítóval.
  4. A SignalR szolgáltatás kimeneti kötése közzétesz egy üzenetet a SignalR Szolgáltatásnak.
  5. A SignalR szolgáltatás közzéteszi az üzenetet az összes csatlakoztatott ügyfél számára.

Hitelesítés és felhasználók

A SignalR Szolgáltatás lehetővé teszi az üzenetek küldését az ügyfelek egészének vagy egy részhalmazának, például az egyetlen felhasználóhoz tartozóknak. Az Azure Functions SignalR szolgáltatáskötéseit az App Service-hitelesítéssel kombinálva hitelesítheti a felhasználókat olyan szolgáltatókkal, mint a Microsoft Entra ID, a Facebook és a Twitter. Ezután közvetlenül küldhet üzeneteket ezeknek a hitelesített felhasználóknak.

Következő lépések

Az Azure Functions és a SignalR Szolgáltatás együttes használatáról az alábbi forrásokban olvashat részletesen:

Az Azure Functions SignalR szolgáltatáskötéseinek kipróbálásához lásd: