Delen via


Web PubSub-bindingen voor Azure Functions

In deze reeks artikelen wordt uitgelegd hoe u realtime berichten kunt verifiëren, verzenden naar clients die zijn verbonden met Azure Web PubSub met behulp van Azure Web PubSub-bindingen in Azure Functions.

Actie Typologie
Clientevenementen van Web PubSub verwerken Triggerbinding
Clientevenementen van Web PubSub verwerken met HTTP-trigger of URL en token voor clienttoegang retourneren Invoerbinding
Service-API's aanroepen Uitvoerbinding

Voorbeelden

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

Als u deze bindingsextensie in uw app wilt kunnen gebruiken, moet u ervoor zorgen dat het host.json bestand in de hoofdmap van uw project deze extensionBundle verwijzing bevat:

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

In dit voorbeeld geeft de version waarde van [4.0.0, 5.0.0) de Functions-host opdracht om een bundelversie te gebruiken die ten minste 4.0.0 maar kleiner is dan 5.0.0, die alle mogelijke versies van 4.x bevat. Deze notatie onderhoudt uw app effectief op de nieuwste beschikbare secundaire versie van de v4.x-extensiebundel.

Indien mogelijk moet u de meest recente primaire versie van de extensiebundel gebruiken en toestaan dat de runtime automatisch de meest recente secundaire versie onderhoudt. U kunt de inhoud van de meest recente bundel bekijken op de releasepagina voor extensiebundels. Zie Azure Functions-extensiebundels voor meer informatie.

Notitie

De Web PubSub-extensies voor Java worden nog niet ondersteund.

Belangrijke concepten

Diagram van de werkstroom van de Azure Web PubSub-service die werkt met Function Apps.

(1)-(2) WebPubSubConnection invoerbinding met HttpTrigger om clientverbinding te genereren.

(3)-(4) WebPubSubTrigger triggerbinding of WebPubSubContext invoerbinding met HttpTrigger voor het verwerken van serviceaanvragen.

(5)-(6) WebPubSub uitvoerbinding om service aan te vragen, doet iets.

Verbinding

U kunt de verbindingsreeks of Microsoft Entra-identiteit gebruiken om verbinding te maken met de Azure Web PubSub-service.

Verbindingsreeks

Standaard wordt een toepassingsinstelling met de naam WebPubSubConnectionString gebruikt om uw Web PubSub-verbindingsreeks op te slaan. Wanneer u ervoor kiest om een andere instellingsnaam voor uw verbinding te gebruiken, moet u deze expliciet instellen als de sleutelnaam in uw bindingsdefinities. Tijdens de lokale ontwikkeling moet u deze instelling ook toevoegen aan de Values verzameling in het local.settings.json-bestand.

Belangrijk

Een verbindingsreeks bevat de autorisatiegegevens die nodig zijn voor uw toepassing voor toegang tot de Azure Web PubSub-service. De toegangssleutel in de verbindingsreeks is vergelijkbaar met een hoofdwachtwoord voor uw service. Voor optimale beveiliging moet uw functie-app beheerde identiteiten gebruiken wanneer u verbinding maakt met de Web PubSub-service in plaats van een verbindingsreeks te gebruiken.

Raadpleeg zelfstudie: Een serverloze meldings-app maken met Azure Functions en de Azure Web PubSub-service voor meer informatie over het configureren en gebruiken van Web PubSub en Azure Functions.

Op identiteit gebaseerde verbindingen

Als u Azure Web PubSub Functions Extensions v1.10.0 of hoger gebruikt in plaats van een verbindingsreeks met een toegangssleutel te gebruiken, kunt u uw functie-app configureren voor verificatie bij Azure Web PubSub met behulp van een Microsoft Entra-identiteit.

Deze aanpak verwijdert de noodzaak om geheimen te beheren en wordt aanbevolen voor productieworkloads.

Vereiste voorwaarden

Zorg ervoor dat aan de Microsoft Entra-identiteit die door uw functie-app wordt gebruikt, een juiste Azure RBAC-rol is verleend voor de doel-Web PubSub-resource:

Configuratie

Op identiteit gebaseerde verbindingen in Azure Functions gebruiken een set instellingen die een gemeenschappelijk voorvoegsel delen. Standaard zoeken Azure Web PubSub Functions-extensies naar instellingen met het voorvoegsel WebPubSubConnectionString. U kunt dit voorvoegsel aanpassen door de connection eigenschap in uw trigger of binding in te stellen.

Voor Azure Web PubSub is de servicespecifieke instelling die u moet opgeven de URI van het service-eindpunt:

Vastgoed Sjabloon voor omgevingsvariabele Description Verplicht
Service-URI WebPubSubConnectionString__serviceUri De URI van uw Web PubSub-service-eindpunt. Yes

Wanneer deze worden gehost in de Azure Functions-service, maken identiteitsverbindingen gebruik van een beheerde identiteit. De door het systeem toegewezen identiteit wordt standaard gebruikt, hoewel een door de gebruiker toegewezen identiteit kan worden opgegeven. Voor meer informatie over het aanpassen van de identiteit, algemene eigenschappen voor op identiteit gebaseerde verbindingen.

Wanneer uw ontwikkelaarsidentiteit wordt uitgevoerd in andere contexten, zoals lokale ontwikkeling, wordt in plaats daarvan uw ontwikkelaarsidentiteit gebruikt, hoewel dit kan worden aangepast. Zie Lokale ontwikkeling met op identiteit gebaseerde verbindingen.

Voorbeeldconfiguratie

In het volgende voorbeeld ziet u hoe u identiteiten configureert met standaardinstellingen:

{
  "WebPubSubConnectionString__serviceUri": "https://your-webpubsub.webpubsub.azure.com"
}

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: WebPubSubConnectionString:serviceUri.

Volgende stappen