Delen via


SignalR-servicebindingen voor Azure Functions

In deze reeks artikelen wordt uitgelegd hoe u realtime berichten verifieert en verzendt naar clients die zijn verbonden met Azure SignalR Service met behulp van SignalR Service-bindingen in Azure Functions. Azure Functions-runtimeversie 2.x en hoger ondersteunt invoer- en uitvoerbindingen voor SignalR Service.

Actie Type
Berichten van SignalR Service verwerken Triggerbinding
De URL en het toegangstoken van het service-eindpunt retourneren Invoerbinding
SignalR Service-berichten verzenden en groepen beheren Uitvoerbinding

De extensie installeren

Het NuGet-extensiepakket dat u installeert, is afhankelijk van de C#-modus die u gebruikt in uw functie-app:

Functies worden uitgevoerd in een geïsoleerd C#-werkproces. Zie De handleiding voor het uitvoeren van C# Azure Functions in een geïsoleerd werkproces voor meer informatie.

Voeg de extensie toe aan uw project door dit NuGet-pakket te installeren.

Bundel installeren

De SignalR Service-extensie maakt deel uit van een extensiebundel, die is opgegeven in uw host.json projectbestand. Wanneer u een project maakt dat is gericht op versie 3.x of hoger, moet deze bundel al zijn geïnstalleerd. Zie uitbreidingsbundel voor meer informatie.

Afhankelijkheid toevoegen

Als u de SignalR Service-aantekeningen in Java-functies wilt gebruiken, moet u een afhankelijkheid toevoegen aan het artefact azure-functions-java-library-signalr (versie 1.0 of hoger) aan uw pom.xml-bestand .

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

Connecties

U kunt verbindingsreeks of Microsoft Entra-identiteit gebruiken om verbinding te maken met Azure SignalR Service.

Connection string

Zie Verbindingsreeksen in Azure SignalR Service voor instructies voor het ophalen van de verbindingsreeks voor uw Azure SignalR-service

Deze verbindingsreeks moet worden opgeslagen in een toepassingsinstelling met een naamAzureSignalRConnectionString. U kunt de naam van de toepassingsinstelling aanpassen met de connectionStringSetting eigenschap van de bindingsconfiguratie.

Op identiteit gebaseerde verbindingen

Als u versie 1.7.0 of hoger gebruikt in plaats van een verbindingsreeks met een geheim te gebruiken, kunt u de app een Microsoft Entra-identiteit laten gebruiken.

Allereerst moet u ervoor zorgen dat uw Microsoft Entra-identiteit de rol SignalR-service-eigenaar heeft.

Vervolgens definieert u instellingen met een gemeenschappelijk voorvoegsel AzureSignalRConnectionString. U kunt de naam van het voorvoegsel aanpassen met de connectionStringSetting eigenschap van de bindingsconfiguratie.

In deze modus bevatten de instellingen de volgende items:

Eigenschappen Sjabloon voor omgevingsvariabele Beschrijving Vereist Voorbeeldwaarde
Service-URI AzureSignalRConnectionString__serviceUri De URI van uw service-eindpunt. Wanneer u alleen 'Service-URI' configureert, proberen de extensies het type DefaultAzureCredential te gebruiken om te verifiëren bij de service. Ja https://mysignalrsevice.service.signalr.net
Tokenreferenties AzureSignalRConnectionString__credential Hiermee definieert u hoe een token moet worden verkregen voor de verbinding. Deze instelling moet worden ingesteld managedidentity op als uw geïmplementeerde Azure-functie van plan is om verificatie van beheerde identiteiten te gebruiken. Deze waarde is alleen geldig wanneer een beheerde identiteit beschikbaar is in de hostingomgeving. Nee managedidentity
Client ID AzureSignalRConnectionString__clientId Wanneer credential deze eigenschap is ingesteld managedidentityop, kan deze eigenschap worden ingesteld om de door de gebruiker toegewezen identiteit op te geven die moet worden gebruikt bij het verkrijgen van een token. De eigenschap accepteert een client-id die overeenkomt met een door de gebruiker toegewezen identiteit die aan de toepassing is toegewezen. Het is ongeldig om zowel een resource-id als een client-id op te geven. Als dit niet is opgegeven, wordt de door het systeem toegewezen identiteit gebruikt. Deze eigenschap wordt anders gebruikt in lokale ontwikkelscenario's, wanneer credential deze niet moeten worden ingesteld. Nee 00000000-0000-0000-0000-000000000000
Resource-id AzureSignalRConnectionString__managedIdentityResourceId Wanneer credential deze eigenschap is ingesteld managedidentityop, kan deze eigenschap worden ingesteld om de resource-id op te geven die moet worden gebruikt bij het verkrijgen van een token. De eigenschap accepteert een resource-id die overeenkomt met de resource-id van de door de gebruiker gedefinieerde beheerde identiteit. Het is ongeldig om zowel een resource-id als een client-id op te geven. Als er geen van beide zijn opgegeven, wordt de door het systeem toegewezen identiteit gebruikt. Deze eigenschap wordt anders gebruikt in lokale ontwikkelscenario's, wanneer credential deze niet moeten worden ingesteld. Nee /subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mygroup/providers/Microsoft.SignalRService/SignalR/mysignalrservice

Notitie

Wanneer u local.settings.json het bestand lokaal gebruikt, Azure-app Configuratie of Key Vault om instellingen voor op identiteit gebaseerde verbindingen te bieden, vervangt __ : u door in de naam van de instelling om ervoor te zorgen dat namen correct worden omgezet.

Bijvoorbeeld: AzureSignalRConnectionString:serviceUri.

Instelling voor meerdere eindpunten

U kunt ook meerdere eindpunten configureren en identiteitsinstellingen per eindpunt opgeven.

In dit geval moet u uw instellingen vooraf laten gaan door Azure__SignalR__Endpoints__{endpointName}. Dit {endpointName} is een willekeurige naam die door u is toegewezen om een groep instellingen te koppelen aan een service-eindpunt. Het voorvoegsel Azure__SignalR__Endpoints__{endpointName} kan niet worden aangepast per connectionStringSetting eigenschap.

Eigenschappen Sjabloon voor omgevingsvariabele Beschrijving Vereist Voorbeeldwaarde
Service-URI Azure__SignalR__Endpoints__{endpointName}__serviceUri De URI van uw service-eindpunt. Wanneer u alleen 'Service-URI' configureert, proberen de extensies het type DefaultAzureCredential te gebruiken om te verifiëren bij de service. Ja https://mysignalrsevice1.service.signalr.net
Eindpunttype Azure__SignalR__Endpoints__{endpointName}__type Geeft aan of het service-eindpunt primair of secundair is. Als dit niet is opgegeven, wordt deze standaard ingesteld op Primary. Geldige waarden zijn Primary en Secondary, hoofdlettergevoelig. Nee Secondary
Tokenreferenties Azure__SignalR__Endpoints__{endpointName}__credential Hiermee definieert u hoe een token moet worden verkregen voor de verbinding. Deze instelling moet worden ingesteld managedidentity op als uw geïmplementeerde Azure-functie van plan is om verificatie van beheerde identiteiten te gebruiken. Deze waarde is alleen geldig wanneer een beheerde identiteit beschikbaar is in de hostingomgeving. Nee managedidentity
Client ID Azure__SignalR__Endpoints__{endpointName}__clientId Wanneer credential deze eigenschap is ingesteld managedidentityop, kan deze eigenschap worden ingesteld om de door de gebruiker toegewezen identiteit op te geven die moet worden gebruikt bij het verkrijgen van een token. De eigenschap accepteert een client-id die overeenkomt met een door de gebruiker toegewezen identiteit die aan de toepassing is toegewezen. Het is ongeldig om zowel een resource-id als een client-id op te geven. Als dit niet is opgegeven, wordt de door het systeem toegewezen identiteit gebruikt. Deze eigenschap wordt anders gebruikt in lokale ontwikkelscenario's, wanneer credential deze niet moeten worden ingesteld. Nee 00000000-0000-0000-0000-000000000000
Resource-id Azure__SignalR__Endpoints__{endpointName}__managedIdentityResourceId Wanneer credential deze eigenschap is ingesteld managedidentityop, kan deze eigenschap worden ingesteld om de resource-id op te geven die moet worden gebruikt bij het verkrijgen van een token. De eigenschap accepteert een resource-id die overeenkomt met de resource-id van de door de gebruiker gedefinieerde beheerde identiteit. Het is ongeldig om zowel een resource-id als een client-id op te geven. Als er geen van beide zijn opgegeven, wordt de door het systeem toegewezen identiteit gebruikt. Deze eigenschap wordt anders gebruikt in lokale ontwikkelscenario's, wanneer credential deze niet moeten worden ingesteld. Nee /subscriptions/00000000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myusermanagedidentity

Zie SignalR-service schalen met meerdere exemplaren voor meer informatie over meerdere eindpunten

Volgende stappen

Raadpleeg azure Functions-ontwikkeling en -configuratie met Azure SignalR Service voor meer informatie over het configureren en gebruiken van SignalR Service en Azure Functions.