Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.