Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze quickstart laat zien hoe u uw Azure Functions-toepassingsinstellingen kunt centraliseren en beheren buiten uw code met behulp van Azure App Configuration. Met de integratie van de .NET-configuratieprovider kunt u App Configuration toevoegen als extra configuratiebron met slechts enkele eenvoudige codewijzigingen.
Vereisten
- Een Azure-account met een actief abonnement. Maak gratis een account.
- Een App Configuration-opslag. Een winkel maken.
- Visual Studio met de ontwikkelworkload voor Azure.
- Azure Functions-hulpprogramma's.
Een sleutelwaarde toevoegen
Voeg de volgende sleutelwaarde toe aan het App Configuration-archief en laat label en inhoudstype ongewijzigd met de standaardwaarden. Ga voor meer informatie over het toevoegen van sleutelwaarden aan een opslag met behulp van de Azure Portal of de CLI naar Een sleutelwaarde maken.
Sleutel | Waarde |
---|---|
TestApp:Settings:Message | Gegevens uit Azure-app-configuratie |
Een functie-app maken
Maak een Azure Functions-app met Visual Studio door de Azure Functions-sjabloon (C#) te selecteren. Deze sjabloon begeleidt u bij het configureren van essentiële instellingen voor uw project. Zie Azure Functions ontwikkelen met Visual Studio voor gedetailleerde instructies.
Gebruik de volgende tabel als referentie voor belangrijke parameters bij het maken van uw functie-app.
Instelling | Waarde |
---|---|
functie-werkrol | .NET 8.0 Geïsoleerd |
Functie | HTTP-trigger |
Autorisatieniveau | Anoniem |
Notitie
Azure App Configuration kan worden gebruikt met Azure Functions in het geïsoleerde werkrolmodel of het in-procesmodel. In deze quickstart wordt het geïsoleerde werknemermodel als voorbeeld gebruikt. U vindt volledige codevoorbeelden voor beide modellen in de GitHub-opslagplaats Azure App Configuration.
Verbinding maken met een App Configuration-winkel
U kunt verbinding maken met uw App Configuration-winkel met behulp van Microsoft Entra ID (aanbevolen) of een verbindingsreeks.
Klik met de rechtermuisknop op het project en selecteer NuGet-pakketten beheren. Zoek en voeg op het tabblad Bladeren de meest recente stabiele versie van de volgende NuGet-pakketten aan uw project toe.
- Microsoft.Azure.AppConfiguration.Functions.Worker
- Azure.Identity
Open Program.cs en werk de code als volgt bij. U voegt Azure App Configuration toe als een extra configuratiebron door de methode aan te
AddAzureAppConfiguration
roepen.U gebruikt de
DefaultAzureCredential
om u te authentiseren bij uw App Configuration-opslagplaats. Volg de instructies om uw referentie de rol App Configuration Data Reader toe te wijzen. Zorg ervoor dat u voldoende tijd geeft voor de machtiging om zich te verspreiden voordat u de toepassing uitvoert.using Azure.Identity; using Microsoft.Azure.Functions.Worker.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; var builder = FunctionsApplication.CreateBuilder(args); // Connect to Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { Uri endpoint = new(Environment.GetEnvironmentVariable("AZURE_APPCONFIG_ENDPOINT") ?? throw new InvalidOperationException("The environment variable 'AZURE_APPCONFIG_ENDPOINT' is not set or is empty.")); options.Connect(endpoint, new DefaultAzureCredential()) // Load all keys that start with `TestApp:` and have no label .Select("TestApp:*"); });
Open Function1.cs en voeg de volgende naamruimte toe.
using Microsoft.Extensions.Configuration;
Pas de constructor aan om een exemplaar te verkrijgen van
IConfiguration
via afhankelijkheidsinjectie.private readonly IConfiguration _configuration; private readonly ILogger<Function1> _logger; public Function1(IConfiguration configuration, ILogger<Function1> logger) { _configuration = configuration; _logger = logger; }
Werk de methode
Run
bij om waarden te lezen uit de configuratie.[Function("Function1")] public IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req) { _logger.LogInformation("C# HTTP trigger function processed a request."); // Read configuration data string key = "TestApp:Settings:Message"; string? message = _configuration[key]; return new OkObjectResult(message ?? $"Please create a key-value with the key '{key}' in Azure App Configuration."); }
De functie lokaal testen
Stel de omgevingsvariabele in.
Stel de omgevingsvariabele met de naam AZURE_APPCONFIG_ENDPOINT in op het eindpunt van uw App Configuration-opslag gevonden onder het Overzicht van uw opslag in de Azure-portal.
Als u de Windows-opdrachtprompt gebruikt, voert u de volgende opdracht uit en start u de opdrachtprompt opnieuw om de wijziging door te voeren:
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"
Als u PowerShell gebruikt, voert u de volgende opdracht uit:
$Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
Als u macOS of Linux gebruikt, voert u de volgende opdracht uit:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
Druk op F5 om de functie testen. Accepteer desgevraagd de aanvraag van Visual Studio om Azure Functions Core-hulpprogramma's (CLI) te downloaden en installeren. Mogelijk moet u ook een firewall-uitzondering inschakelen, zodat de hulpprogramma's HTTP-aanvragen kunnen afhandelen.
Kopieer de URL van uw functie vanuit de uitvoer van de Azure Functions-runtime.
Plak de URL van de HTTP-aanvraag in de adresbalk van uw browser. In de afbeelding hieronder ziet u de reactie in de browser op de lokale GET-aanvraag die door de functie wordt geretourneerd.
Triggerparameters beheren met App Configuration-verwijzingen
Azure Functions-triggers definiëren hoe een functie wordt aangeroepen. Triggerkenmerken, zoals wachtrijnamen of databasenamen, worden tijdens het opstarten van de host geladen en kunnen geen waarden rechtstreeks ophalen uit Azure App Configuration. Als u deze parameters wilt beheren, kunt u de referentiefunctie voor App Configuration gebruiken die beschikbaar is voor Azure Functions en App Service.
Met de functie App Configuration-verwijzing kunt u rechtstreeks vanuit uw toepassingsinstellingen verwijzen naar sleutelwaarden die zijn opgeslagen in Azure App Configuration. Azure Functions lost deze verwijzingen bij het opstarten op, zodat u triggerparameters centraal en veilig kunt beheren.
Denk bijvoorbeeld aan een door wachtrij geactiveerde functie-app. In plaats van de wachtrijnaam rechtstreeks in het triggerkenmerk op te geven, kunt u verwijzen naar een sleutelwaarde die is opgeslagen in Azure App Configuration.
Voeg in uw Azure App Configuration-archief een sleutelwaarde toe voor de naam van uw wachtrij:
Sleutel Waarde TestApp:Storage:QueueName <De naam van de wachtrij in uw opslagaccount> Selecteer in uw functie-app Instellingen ->Omgevingsvariabelen -App-instellingen> in Azure Portal en maak een toepassingsinstelling die verwijst naar de App Configuration-sleutel:
Naam Waarde MyQueueName @Microsoft.AppConfiguration(Endpoint=<your-store-endpoint>; Key=TestApp:Storage:QueueName)
Hint
Als u meerdere sleutelwaarden in Azure App Configuration hebt, kunt u ze in batch exporteren als App Configuration-verwijzingen naar Azure Functions met behulp van Azure Portal of CLI.
Schakel de beheerde identiteit voor uw Azure Functions-app in en wijs deze toe aan de rol App Configuration Data Reader voor uw App Configuration-archief. Zie App Configuration-verwijzingen gebruiken in App Service en Azure Functions voor gedetailleerde instructies over het instellen van App Configuration-verwijzingen.
Werk de door de wachtrij geactiveerde functie bij om de toepassingsinstelling te gebruiken:
[Function("QueueTriggeredFunction")] public void Run([QueueTrigger(queueName: "%MyQueueName%")] QueueMessage message) { _logger.LogInformation($"C# Queue trigger function processed: {message.MessageText}"); }
Tijdens runtime wordt de
%MyQueueName%
tijdelijke aanduiding omgezet in de waarde die is opgeslagen in Azure App Configuration, zodat u triggerparameters centraal kunt beheren zonder deze in uw functiecode vast te leggen.
Middelen opruimen
Als u de resources die in dit artikel zijn gemaakt niet wilt blijven gebruiken, verwijdert u de resourcegroep die u hier hebt gemaakt om kosten te voorkomen.
Belangrijk
Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. De resourcegroep en alle resources daarin worden permanent verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep, of resources verwijdert. Als u de resources voor dit artikel in een resourcegroep hebt gemaakt die andere resources bevat die u wilt behouden, moet u elke resource afzonderlijk verwijderen uit het deelvenster in plaats van dat u de resourcegroep verwijdert.
- Meld u aan bij de Azure-portal en selecteer Resourcegroepen.
- Voer de naam van de resourcegroep in het vak Filteren op naam in.
- Selecteer in de resultatenlijst de resourcegroepnaam om een overzicht te bekijken.
- Selecteer Resourcegroep verwijderen.
- U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Voer de naam van de resourcegroep in ter bevestiging en selecteer Verwijderen.
Na enkele ogenblikken worden de resourcegroep en alle bijbehorende resources verwijderd.
Volgende stappen
In deze quickstart hebt u Azure App Configuration geïntegreerd met een Azure Functions-app. Ga door naar de volgende zelfstudie voor meer informatie over het dynamisch vernieuwen van de configuratie-instellingen voor uw functie-app.
Als u wilt weten hoe u functievlagmen gebruikt vanuit Azure App Configuration in uw Azure Functions-app, gaat u verder met de volgende zelfstudie.
Als u wilt weten hoe u een door Azure beheerde identiteit gebruikt om de toegang tot App Configuration te stroomlijnen, gaat u verder met de volgende zelfstudie.