Sdílet prostřednictvím


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 managedidentityna 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 managedidentityna 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 Primaryje . Platné hodnoty jsou Primary a Secondarynerozliš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 managedidentityna 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 managedidentityna 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.