Vazby služby SignalR pro Azure Functions
Tato sada článků vysvětluje, jak ověřovat a odesílat zprávy v reálném čase klientům připojeným ke službě Azure SignalR Service pomocí vazeb služby SignalR ve službě Azure Functions. Modul runtime Azure Functions verze 2.x a vyšší podporuje vstupní a výstupní vazby pro službu SignalR Service.
Akce | Typ |
---|---|
Zpracování zpráv ze služby SignalR | Vazba triggeru |
Vrácení adresy URL koncového bodu služby a přístupového tokenu | Vstupní vazba |
Odesílání zpráv služby SignalR a správa skupin | Výstupní vazba |
Instalace rozšíření
Balíček NuGet rozšíření, který nainstalujete, závisí na režimu jazyka C#, který používáte ve své aplikaci funkcí:
Funkce se spouštějí v izolovaném pracovním procesu C#. Další informace najdete v průvodci spuštěním služby Azure Functions v jazyce C# v izolovaném pracovním procesu.
Přidejte rozšíření do projektu instalací tohoto balíčku NuGet.
Instalace sady
Rozšíření služby SignalR je součástí sady rozšíření, která je zadaná v souboru projektu host.json. Při vytváření projektu, který cílí na verzi 3.x nebo novější, byste již měli mít tuto sadu nainstalovanou. Další informace najdete v sadě rozšíření.
Přidání závislosti
Pokud chcete používat poznámky služby SignalR ve funkcích Java, musíte do souboru pom.xml přidat závislost do artefaktu azure-functions-java-library-signalr (verze 1.0 nebo vyšší).
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-signalr</artifactId>
<version>1.0.0</version>
</dependency>
Propojení
K připojení ke službě Azure SignalR Service můžete použít připojovací řetězec nebo identitu Microsoft Entra.
Connection string
Pokyny k načtení připojovací řetězec pro službu Azure SignalR najdete v tématu Připojovací řetězce ve službě Azure SignalR Service.
Tato připojovací řetězec by měla být uložena v nastavení aplikace s názvem AzureSignalRConnectionString
. Název nastavení aplikace můžete přizpůsobit vlastností connectionStringSetting
konfigurace vazby.
Připojení založená na identitách
Pokud používáte verzi 1.7.0 nebo vyšší, můžete místo použití připojovací řetězec s tajným kódem použít aplikaci identitu Microsoft Entra.
Nejprve byste se měli ujistit, že vaše identita Microsoft Entra má roli Vlastník služby SignalR.
Pak byste definovali nastavení se společnou předponou AzureSignalRConnectionString
. Název předpony můžete přizpůsobit vlastností connectionStringSetting
konfigurace vazby.
V tomto režimu nastavení zahrnují následující položky:
Vlastnost | Šablona proměnné prostředí | Popis | Povinní účastníci | Příklad hodnoty |
---|---|---|---|---|
Identifikátor URI služby | AzureSignalRConnectionString__serviceUri |
Identifikátor URI vašeho koncového bodu služby. Pokud nakonfigurujete pouze identifikátor URI služby, rozšíření by se pokusila použít typ DefaultAzureCredential k ověření ve službě. | Ano | https://mysignalrsevice.service.signalr.net |
Přihlašovací údaje tokenu | AzureSignalRConnectionString__credential |
Definuje způsob získání tokenu pro připojení. Toto nastavení by mělo být nastavené, managedidentity pokud vaše nasazená funkce Azure Functions hodlá používat ověřování spravované identity. Tato hodnota je platná pouze v případě, že je spravovaná identita dostupná v hostitelském prostředí. |
No | Spravovaná identita |
Client ID | AzureSignalRConnectionString__clientId |
Pokud credential je nastavena managedidentity na hodnotu , lze tuto vlastnost nastavit tak, aby určila identitu přiřazenou uživatelem, která se má použít při získávání tokenu. Vlastnost přijímá ID klienta odpovídající identitě přiřazené uživatelem přiřazené aplikaci. Není platné zadat ID prostředku i ID klienta. Pokud není zadána, použije se identita přiřazená systémem. Tato vlastnost se v místních vývojových scénářích používá odlišně, pokud credential by neměla být nastavena. |
No | 00000000-0000-0000-0000-000000000000 |
ID zdroje | AzureSignalRConnectionString__managedIdentityResourceId |
Pokud credential je nastavena managedidentity na hodnotu , může být tato vlastnost nastavena pro zadání identifikátoru prostředku, který se má použít při získání tokenu. Vlastnost přijímá identifikátor prostředku odpovídající ID prostředku uživatelem definované spravované identity. Není platné zadat ID prostředku i ID klienta. Pokud není zadána žádná, použije se identita přiřazená systémem. Tato vlastnost se v místních vývojových scénářích používá odlišně, pokud credential by neměla být nastavena. |
No | /subscriptions/0000000-0000-0000-0000-0000000000/resourceGroups/mygroup/providers/Microsoft.SignalRService/SignalR/mysignalrservice |
Poznámka:
Pokud používáte local.settings.json
soubor v místním prostředí, Aplikace Azure Konfigurace nebo Key Vault k poskytování nastavení pro připojení založená na identitě, nahraďte :
__
v názvu nastavení název nastavení, aby se názvy správně přeložily.
Například AzureSignalRConnectionString:serviceUri
.
Nastavení více koncových bodů
Můžete také nakonfigurovat více koncových bodů a zadat nastavení identity pro každý koncový bod.
V tomto případě zadejte předponu nastavení .Azure__SignalR__Endpoints__{endpointName}
Jedná se {endpointName}
o libovolný název přiřazený k přidružení skupiny nastavení ke koncovému bodu služby. Předponu Azure__SignalR__Endpoints__{endpointName}
nelze přizpůsobit podle connectionStringSetting
vlastnosti.
Vlastnost | Šablona proměnné prostředí | Popis | Povinní účastníci | Příklad hodnoty |
---|---|---|---|---|
Identifikátor URI služby | Azure__SignalR__Endpoints__{endpointName}__serviceUri |
Identifikátor URI vašeho koncového bodu služby. Pokud nakonfigurujete pouze identifikátor URI služby, rozšíření by se pokusila použít typ DefaultAzureCredential k ověření ve službě. | Ano | https://mysignalrsevice1.service.signalr.net |
Typ koncového bodu | Azure__SignalR__Endpoints__{endpointName}__type |
Určuje, jestli je koncový bod služby primární nebo sekundární. Pokud není zadáno, výchozí hodnota Primary je . Platné hodnoty jsou Primary a Secondary nerozlišují malá a velká písmena. |
No | Secondary |
Přihlašovací údaje tokenu | Azure__SignalR__Endpoints__{endpointName}__credential |
Definuje způsob získání tokenu pro připojení. Toto nastavení by mělo být nastavené, managedidentity pokud vaše nasazená funkce Azure Functions hodlá používat ověřování spravované identity. Tato hodnota je platná pouze v případě, že je spravovaná identita dostupná v hostitelském prostředí. |
No | Spravovaná identita |
Client ID | Azure__SignalR__Endpoints__{endpointName}__clientId |
Pokud credential je nastavena managedidentity na hodnotu , lze tuto vlastnost nastavit tak, aby určila identitu přiřazenou uživatelem, která se má použít při získávání tokenu. Vlastnost přijímá ID klienta odpovídající identitě přiřazené uživatelem přiřazené aplikaci. Není platné zadat ID prostředku i ID klienta. Pokud není zadána, použije se identita přiřazená systémem. Tato vlastnost se v místních vývojových scénářích používá odlišně, pokud credential by neměla být nastavena. |
No | 00000000-0000-0000-0000-000000000000 |
ID zdroje | Azure__SignalR__Endpoints__{endpointName}__managedIdentityResourceId |
Pokud credential je nastavena managedidentity na hodnotu , může být tato vlastnost nastavena pro zadání identifikátoru prostředku, který se má použít při získání tokenu. Vlastnost přijímá identifikátor prostředku odpovídající ID prostředku uživatelem definované spravované identity. Není platné zadat ID prostředku i ID klienta. Pokud není zadána žádná, použije se identita přiřazená systémem. Tato vlastnost se v místních vývojových scénářích používá odlišně, pokud credential by neměla být nastavena. |
No | /subscriptions/0000000-0000-0000-0000-00000000000/resourceGroups/myrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myusermanagedidentity |
Další informace o několika koncových bodech najdete v tématu Škálování služby SignalR s více instancemi.
Další kroky
Podrobnosti o tom, jak nakonfigurovat a používat službu SignalR a Azure Functions společně, najdete v tématu Vývoj a konfigurace služby Azure Functions pomocí služby Azure SignalR.