Megosztás a következőn keresztül:


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

Ez a cikkkészlet bemutatja, hogyan hitelesítheti és küldhet valós idejű üzeneteket az Azure SignalR Service-hez csatlakozó ügyfeleknek a SignalR Szolgáltatás kötéseinek használatával az Azure Functionsben. Az Azure Functions 2.x és újabb verziója támogatja a SignalR Szolgáltatás bemeneti és kimeneti kötéseit.

Művelet Típus
A SignalR szolgáltatásból érkező üzenetek kezelése Trigger kötése
A szolgáltatásvégpont URL-címének és hozzáférési jogkivonatának visszaadása Bemeneti kötés
SignalR-szolgáltatásüzenetek küldése és csoportok kezelése Kimeneti kötés

A bővítmény telepítése

A telepített NuGet-csomag a függvényalkalmazásban használt C# módtól függ:

A függvények izolált C# feldolgozói folyamatban futnak. További információ: Útmutató a C# Azure Functions izolált feldolgozói folyamatban való futtatásához.

A NuGet-csomag telepítésével adja hozzá a bővítményt a projekthez.

Csomag telepítése

Ha használni szeretné ezt a kötéskiterjesztést az alkalmazásban, győződjön meg arról, hogy a projekt gyökerében található host.json fájl tartalmazza a extensionBundle következő hivatkozást:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Ebben a példában az version érték [4.0.0, 5.0.0) arra utasítja a Functions-gazdagépet, hogy 4.0.0 legalább, de annál kisebb 5.0.0csomagverziót használjon, amely tartalmazza a 4.x összes lehetséges verzióját. Ez a jelölés hatékonyan fenntartja az alkalmazást a v4.x bővítménycsomag legújabb elérhető alverzióján.

Ha lehetséges, a legújabb bővítménycsomag főverziót kell használnia, és engedélyeznie kell, hogy a futtatókörnyezet automatikusan fenntartsa a legújabb alverziót. A legújabb csomag tartalmát a bővítménykötegek kiadási oldalán tekintheti meg. További információ: Azure Functions-bővítménykötegek.

Függőség hozzáadása

A SignalR szolgáltatás megjegyzéseinek Java-függvényekben való használatához függőséget kell hozzáadnia az azure-functions-java-library-signalr összetevőhöz (1.0-s vagy újabb verzió) a pom.xml fájlhoz.

<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-signalr</artifactId>
    <version>1.0.0</version>
</dependency>

Kapcsolatok

A kapcsolati sztring vagy a Microsoft Entra-identitás használatával csatlakozhat az Azure SignalR Service-hez.

Kapcsolati sztring

Az Azure SignalR-szolgáltatáshoz tartozó kapcsolati sztring lekérésére vonatkozó utasításokért tekintse meg az Azure SignalR Service kapcsolati sztringeit

Ezt a kapcsolati sztring egy névvel AzureSignalRConnectionStringrendelkező alkalmazásbeállításban kell tárolni. Az alkalmazásbeállítás nevét a kötéskonfiguráció tulajdonságával connectionStringSetting szabhatja testre.

Identitásalapú kapcsolatok

Ha az 1.7.0-s vagy újabb verziót használja, ahelyett, hogy titkos kapcsolati sztring használ, az alkalmazás Microsoft Entra-identitást használhat.

Először is győződjön meg arról, hogy a Microsoft Entra-identitás rendelkezik SignalR-szolgáltatástulajdonos szerepkörével.

Ezután a beállításokat egy közös előtaggal AzureSignalRConnectionStringdefiniálná. A kötéskonfiguráció tulajdonságával testre szabhatja az connectionStringSetting előtag nevét.

Ebben a módban a beállítások a következő elemeket tartalmazzák:

Tulajdonság Környezeti változó sablonja Leírás Kötelező Példaérték
Szolgáltatás URI-ja AzureSignalRConnectionString__serviceUri A szolgáltatásvégpont URI-ja. Ha csak a "Szolgáltatás URI"-t konfigurálja, a bővítmények a DefaultAzureCredential típust próbálják meg használni a szolgáltatással való hitelesítéshez. Igen https://mysignalrsevice.service.signalr.net
Token hitelesítő adatai AzureSignalRConnectionString__credential Meghatározza, hogyan kell jogkivonatot beszerezni a kapcsolathoz. Ezt a beállítást akkor kell beállítani, managedidentity ha az üzembe helyezett Azure-függvény felügyelt identitáshitelesítést kíván használni. Ez az érték csak akkor érvényes, ha egy felügyelt identitás elérhető az üzemeltetési környezetben. Nem felügyelt identitás
Ügyfél azonosítója AzureSignalRConnectionString__clientId Ha credential be van állítva managedidentity, ez a tulajdonság megadható a jogkivonat beszerzésekor használandó felhasználó által hozzárendelt identitás megadására. A tulajdonság elfogadja az alkalmazáshoz hozzárendelt, felhasználó által hozzárendelt identitásnak megfelelő ügyfél-azonosítót. Az erőforrás-azonosító és az ügyfél-azonosító megadása érvénytelen. Ha nincs megadva, a rendszer a rendszer által hozzárendelt identitást használja. Ezt a tulajdonságot eltérően használják a helyi fejlesztési forgatókönyvekben, amikor credential nem szabad beállítani. Nem 00000000-0000-0000-0000-000000000000
Erőforrás-azonosító AzureSignalRConnectionString__managedIdentityResourceId Ha credential be van állítva managedidentity, ez a tulajdonság megadható a jogkivonat beszerzésekor használandó erőforrás-azonosító megadásához. A tulajdonság a felhasználó által definiált felügyelt identitás erőforrás-azonosítójának megfelelő erőforrás-azonosítót fogad el. Érvénytelen az erőforrás-azonosító és az ügyfél-azonosító megadása. Ha egyik sincs megadva, a rendszer a rendszer által hozzárendelt identitást használja. Ezt a tulajdonságot eltérően használják a helyi fejlesztési forgatókönyvekben, amikor credential nem szabad beállítani. Nem /subscriptions/000000000-0000-0000-0000-0000000000/resourceGroups/mygroup/providers/Microsoft.SignalRService/SignalR/mysignalrservice

Feljegyzés

Ha helyi, local.settings.json vagy Key Vaultbeli fájlokat használ az identitásalapú kapcsolatok beállításainak megadásához, cserélje le __: a beállításnévre a nevek helyes feloldása érdekében.

Például: AzureSignalRConnectionString:serviceUri.

Több végpont beállítása

Több végpontot is konfigurálhat, és végpontonként megadhatja az identitásbeállításokat.

Ebben az esetben a beállítások előtagját a következővel Azure__SignalR__Endpoints__{endpointName}adhatja meg: . Az {endpointName} ön által hozzárendelt tetszőleges név, amely a beállítások egy csoportját társítja egy szolgáltatásvégponthoz. Az előtag Azure__SignalR__Endpoints__{endpointName} tulajdonság szerint connectionStringSetting nem szabható testre.

Tulajdonság Környezeti változó sablonja Leírás Kötelező Példaérték
Szolgáltatás URI-ja Azure__SignalR__Endpoints__{endpointName}__serviceUri A szolgáltatásvégpont URI-ja. Ha csak a "Szolgáltatás URI"-t konfigurálja, a bővítmények a DefaultAzureCredential típust próbálják meg használni a szolgáltatással való hitelesítéshez. Igen https://mysignalrsevice1.service.signalr.net
Végpont típusa Azure__SignalR__Endpoints__{endpointName}__type Azt jelzi, hogy a szolgáltatásvégpont elsődleges vagy másodlagos-e. Ha nincs megadva, az alapértelmezés szerint a .Primary Az érvényes értékek Primary és a kis- és Secondarynagybetűk érzéketlenek. Nem Secondary
Token hitelesítő adatai Azure__SignalR__Endpoints__{endpointName}__credential Meghatározza, hogyan kell jogkivonatot beszerezni a kapcsolathoz. Ezt a beállítást akkor kell beállítani, managedidentity ha az üzembe helyezett Azure-függvény felügyelt identitáshitelesítést kíván használni. Ez az érték csak akkor érvényes, ha egy felügyelt identitás elérhető az üzemeltetési környezetben. Nem felügyelt identitás
Ügyfél azonosítója Azure__SignalR__Endpoints__{endpointName}__clientId Ha credential be van állítva managedidentity, ez a tulajdonság megadható a jogkivonat beszerzésekor használandó felhasználó által hozzárendelt identitás megadására. A tulajdonság elfogadja az alkalmazáshoz hozzárendelt, felhasználó által hozzárendelt identitásnak megfelelő ügyfél-azonosítót. Az erőforrás-azonosító és az ügyfél-azonosító megadása érvénytelen. Ha nincs megadva, a rendszer a rendszer által hozzárendelt identitást használja. Ezt a tulajdonságot eltérően használják a helyi fejlesztési forgatókönyvekben, amikor credential nem szabad beállítani. Nem 00000000-0000-0000-0000-000000000000
Erőforrás-azonosító Azure__SignalR__Endpoints__{endpointName}__managedIdentityResourceId Ha credential be van állítva managedidentity, ez a tulajdonság megadható a jogkivonat beszerzésekor használandó erőforrás-azonosító megadásához. A tulajdonság a felhasználó által definiált felügyelt identitás erőforrás-azonosítójának megfelelő erőforrás-azonosítót fogad el. Érvénytelen az erőforrás-azonosító és az ügyfél-azonosító megadása. Ha egyik sincs megadva, a rendszer a rendszer által hozzárendelt identitást használja. Ezt a tulajdonságot eltérően használják a helyi fejlesztési forgatókönyvekben, amikor credential nem szabad beállítani. Nem /subscriptions/000000000-0000-0000-0000-0000000000/resourceGroups/myrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myusermanagedidentity

További információ több végpontról: SignalR-szolgáltatás méretezése több példánysal

Az optimális biztonság érdekében a függvényalkalmazásnak felügyelt identitásokat kell használnia, amikor egy megosztott titkos kulcsot tartalmazó kapcsolati sztring helyett csatlakozik az Azure SignalR szolgáltatáshoz. További információ: Kérelmek engedélyezése az Azure SignalR Service-erőforrásokhoz a Microsoft Entra által felügyelt identitásokkal.

Következő lépések

A SignalR Service és az Azure Functions együttes konfigurálásának és használatának részleteiért tekintse meg az Azure Functions és az Azure SignalR Service közötti fejlesztést és konfigurációt.