Delen via


Zelfstudie: Dynamische configuratie gebruiken in een Azure Functions-app

In deze zelfstudie ziet u hoe u dynamische configuratie-updates kunt inschakelen in uw Azure Functions-app. Deze is gebaseerd op de Azure Functions-app die is geïntroduceerd in de quickstarts. Voordat u doorgaat, voltooit u Eerst een Azure Functions-app maken met Azure App Configuration.

In deze zelfstudie leert u het volgende:

  • Stel dynamische configuratievernieuwing in voor uw Azure Functions-app.
  • Schakel automatische configuratievernieuwing in met behulp van App Configuration-middleware.
  • Gebruik de nieuwste configuratie in Functie-aanroepen wanneer er wijzigingen optreden in uw App Configuratie-opslag.

Vereiste voorwaarden

Gegevens opnieuw laden vanuit app-configuratie

De Azure App Configuration .NET-provider ondersteunt caching en dynamisch vernieuwen van configuratie-instellingen op basis van toepassingsactiviteit. In deze sectie configureert u de provider voor het dynamisch vernieuwen van instellingen en schakelt u automatische configuratievernieuwing in met behulp van de App Configuration-middleware, Microsoft.Azure.AppConfiguration.Functions.Worker, telkens wanneer een functie wordt uitgevoerd.

Notitie

Azure App Configuration kan worden gebruikt met Azure Functions in het geïsoleerde werkrolmodel of het in-procesmodel. In deze handleiding wordt het geïsoleerde werkermodel als voorbeeld gebruikt. U vindt volledige codevoorbeelden voor beide modellen in de GitHub-opslagplaats Azure App Configuration.

  1. Open het Program.cs-bestand en werk de aanroep bij naar AddAzureAppConfiguration om de ConfigureRefresh methode op te nemen. Met deze methode configureert u de voorwaarden voor het vernieuwen van configuratie-instellingen, waaronder het opgeven van de sleutels die moeten worden bewaakt en het interval tussen vernieuwingscontroles.

    // 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:*")
               // Reload configuration if any selected key-values have changed.
               // Use the default refresh interval of 30 seconds. It can be overridden via AzureAppConfigurationRefreshOptions.SetRefreshInterval.
               .ConfigureRefresh(refreshOptions =>
               {
                   refreshOptions.RegisterAll();
               });
    });
    

    U roept de RegisterAll methode aan om de App Configuration-provider te instrueren om de volledige configuratie opnieuw te laden wanneer er een wijziging wordt gedetecteerd in een van de geselecteerde sleutelwaarden (die beginnen met TestApp: en geen label hebben). Zie Aanbevolen procedures voor het vernieuwen van configuratiesvoor meer informatie over het controleren van configuratiewijzigingen.

    Het vernieuwingsinterval is standaard ingesteld op 30 seconden. U kunt dit interval aanpassen door de methode AzureAppConfigurationRefreshOptions.SetRefreshInterval aan te roepen.

  2. Werk het Program.cs-bestand bij om automatische configuratievernieuwing in te schakelen bij elke uitvoering van de functie door de App Configuration-middleware toe te voegen:

    // Connect to Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        // Omitted the code added in the previous step.
    });
    
    // Add Azure App Configuration middleware to the service collection.
    builder.Services.AddAzureAppConfiguration()
    
    // Use Azure App Configuration middleware for dynamic configuration refresh.
    builder.UseAzureAppConfiguration();
    
    builder.ConfigureFunctionsWebApplication();
    
    builder.Build().Run();
    

De functie lokaal testen

  1. 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>'
    
  2. Druk op F5 om uw functie te testen. Als u hierom wordt gevraagd, accepteert u de aanvraag van Visual Studio om Azure Functions Core (CLI) hulpprogramma's te downloaden en te installeren. Mogelijk moet u ook een firewall-uitzondering inschakelen, zodat de hulpprogramma's HTTP-aanvragen kunnen afhandelen.

  3. Kopieer de URL van uw functie uit de uitvoer van de Azure Functions-runtime.

    Quickstart Functie-foutopsporing in VS

  4. Plak de URL voor de HTTP-aanvraag in de adresbalk van uw browser. In de volgende afbeelding ziet u het antwoord in de browser op de lokale GET-aanvraag die door de functie wordt geretourneerd.

    De snelstartfunctie starten lokaal

  5. Selecteer uw App Configuration-archief in Azure Portal en werk de waarde van de volgende sleutel bij in Configuration Explorer.

    Sleutelcode Waarde
    TestApp:Instellingen:Bericht -gegevens uit Azure App Configuration - bijgewerkt
  6. Vernieuw uw browser een paar keer. Nadat het standaardvernieuwingsinterval van 30 seconden is verstreken, wordt op de pagina de bijgewerkte waarde weergegeven die is opgehaald uit uw Azure Functions-app.

    Snelstartfunctie lokaal vernieuwen

Hulpmiddelen 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 middelen 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.

  1. Meld u aan bij de Azure-portal en selecteer Resourcegroepen.
  2. Voer de naam van de resourcegroep in het vak Filteren op naam in.
  3. Selecteer in de resultatenlijst de resourcegroepnaam om een overzicht te bekijken.
  4. Selecteer Resourcegroep verwijderen.
  5. 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 zelfstudie hebt u uw Azure Functions-app ingeschakeld om configuratie-instellingen dynamisch te vernieuwen vanuit App Configuration.

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.