Quickstart: Een Azure Functions-app maken met Azure App Configuration

In deze quickstart neemt u de service Azure App Configuration op in een Azure Functions-app om opslag en beheer van al uw toepassingsinstellingen gescheiden van uw code te centraliseren.

Vereisten

Een App Configuration-archief maken

  1. Als u een nieuw App Configuration-archief wilt maken, moet u zich eerst aanmelden bij de Azure-portal. Selecteer in de linkerbovenhoek van de startpagina de optie Een resource maken. Voer in het vak Marketplace doorzoeken App Configuration in en selecteer Invoeren.

    Zoeken naar App Configuration

  2. Selecteer App Configuration in de zoekresultaten en selecteer vervolgens Maken.

    Selecteer Maken

  3. Voer in het deelvenster App Configuration maken de volgende instellingen in:

    Instelling Voorgestelde waarde Beschrijving
    Abonnement Uw abonnement Selecteer het Azure-abonnement dat u wilt gebruiken om App Configuration te testen. Als uw account maar één abonnement heeft, wordt dit automatisch geselecteerd en wordt de lijst Abonnement niet weergegeven.
    Resourcegroep AppConfigTestResources Selecteer of maak een resourcegroep voor de resource van het App Configuration-archief. Deze groep is handig voor het ordenen van meerdere resources die u mogelijk op een bepaald moment wilt verwijderen door resourcegroep te verwijderen. Zie Resourcegroepen gebruiken om Azure-resources te beheren voor meer informatie.
    Resourcenaam Wereldwijd unieke naam Voer een unieke resourcenaam in voor de resource van het App Configuration-archief. De naam moet een tekenreeks zijn van 5 tot 50 tekens en mag alleen cijfers, letters en - bevatten. De naam mag niet beginnen of eindigen met -.
    Locatie US - centraal Gebruik Locatie om de geografische locatie op te geven waar het app-configuratiearchief wordt gehost. Voor de beste prestaties maakt u de resource in dezelfde regio als de andere onderdelen van uw toepassing.
    Prijscategorie Gratis Selecteer de gewenste prijscategorie. Ga voor meer informatie naar de pagina met prijzen voor App Configuration.
  4. Selecteer Beoordelen en maken om de instellingen te valideren.

  5. Selecteer Maken. De implementatie kan enkele minuten duren.

  6. Als de implementatie is voltooid, gaat u naar de resource App Configuration. Selecteer Instellingen > Toegangssleutels. Noteer de verbindingsreeks van de primaire alleen-lezensleutel. U hebt de verbindingsreeks later nodig voor de configuratie van uw toepassing, zodat deze kan communiceren met het App Configuration-archief dat u hebt gemaakt.

  1. Selecteer Configuratieverkenner > + Maken > Sleutel-waarde om de volgende sleutel-waardeparen toe te voegen:

    Sleutel Waarde
    TestApp:Settings:Message Gegevens van Azure App Configuration

    Laat Label en Inhoudstype nog even leeg.

  2. Selecteer Toepassen.

Een Functions-app maken

Met Azure Functions-projectsjabloon in Visual Studio maakt u een C#-klassebibliotheekproject dat u kunt publiceren naar een functie-app in Azure. U kunt een functie-app gebruiken om functies te groeperen in een logische eenheid, zodat u resources eenvoudiger kunt beheren, implementeren, schalen en delen.

  1. Selecteer in Visual Studio-menu Bestand > Nieuw > Project.

  2. Voer in Een nieuw project maken functies in het zoekvenster in, kies de sjabloon Azure Functions en selecteer vervolgens Volgende.

  3. Voer in Uw nieuwe project configureren een projectnaam in voor uw project en selecteer vervolgens Maken. De functie-appnaam moet geldig zijn als een C#-naamruimte. Gebruik dus geen onderstrepingstekens, afbreekstreepjes of andere niet-alfanumerieke tekens.

  4. Gebruik de waarden in de volgende tabel voor de instellingen van Een nieuw Azure Functions-toepassing:

    Instelling Waarde Beschrijving
    .NET-versie .NET Core 3 (LTS) Met deze waarde maakt u een functieproject dat wordt uitgevoerd met versie 3.x van Azure Functions runtime. Azure Functions 1.x ondersteunt .NET Framework. Raadpleeg Overzicht van Azure Functions-runtime voor meer informatie.
    Functiesjabloon HTTP-trigger Met deze waarde wordt er een functie gemaakt die wordt geactiveerd door een HTTP-aanvraag.
    Opslagaccount (AzureWebJobsStorage) Opslagemulator Omdat voor een functie-app in Azure een opslagaccount is vereist, wordt er een toegewezen of gemaakt wanneer u uw project naar Azure publiceert. Een HTTP-trigger gebruikt geen Azure Storage-accountverbindingsreeks. Alle andere triggers vereisen een geldige Azure Storage-accountverbindingsreeks.
    Verificatieniveau Anoniem De gemaakte functie kan door iedere client worden geactiveerd zonder een sleutel op te geven. Met deze autorisatie-instelling kunt u eenvoudig uw nieuwe functie testen. Raadpleeg Autorisatiesleutels in de HTTP- en webhookbindingen voor meer informatie over sleutels en autorisatie.

    Azure Functions-projectinstellingen

    Zorg ervoor dat u het Autorisatieniveau instelt op Anoniem. Wanneer u het standaardniveau van Functie kiest, moet u de functiesleutel opnemen in aanvragen om toegang te krijgen tot het eindpunt van de functie.

  5. Selecteer OK om het functieproject en de door HTTP geactiveerde functie te maken.

Verbinding maken met een App Configuration-archief

Dit project maakt gebruik van afhankelijkheidsinjectie in .NET Azure Functions en voegt Azure App Configuration toe als een extra configuratiebron.

  1. Klik met de rechtermuisknop op het project en selecteer NuGet-pakketten beheren. Zoek op het tabblad Bladeren de volgende NuGet-pakketten en voeg deze toe aan uw project.

  2. Voeg het nieuwe bestand Startup.cs toe met de volgende code. Hiermee wordt een klasse gedefinieerd met de naam Startup, waarmee de abstracte klasse FunctionsStartup wordt geïmplementeerd. Er wordt een assembly-kenmerk gebruikt om de typenaam op te geven die wordt gebruikt tijdens het opstarten van Azure Functions.

    De ConfigureAppConfiguration-methode wordt overschreven en de Azure App Configuration-provider wordt toegevoegd als een extra configuratiebron door AddAzureAppConfiguration() aan te roepen. De Configure-methode blijft leeg, omdat u op dit moment geen services hoeft te registreren.

    using System;
    using Microsoft.Azure.Functions.Extensions.DependencyInjection;
    using Microsoft.Extensions.Configuration;
    
    [assembly: FunctionsStartup(typeof(FunctionApp.Startup))]
    
    namespace FunctionApp
    {
        class Startup : FunctionsStartup
        {
            public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
            {
                string cs = Environment.GetEnvironmentVariable("ConnectionString");
                builder.ConfigurationBuilder.AddAzureAppConfiguration(cs);
            }
    
            public override void Configure(IFunctionsHostBuilder builder)
            {
            }
        }
    }
    
  3. Open Function1.cs en voeg de volgende naamruimte toe.

    using Microsoft.Extensions.Configuration;
    

    Voeg een constructor toe die om een exemplaar van IConfiguration te verkrijgen via afhankelijkheidsinjectie.

    private readonly IConfiguration _configuration;
    
    public Function1(IConfiguration configuration)
    {
        _configuration = configuration;
    }
    
  4. Werk de methode Run bij om waarden te lezen uit de configuratie.

    public async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");
    
        string keyName = "TestApp:Settings:Message";
        string message = _configuration[keyName];
    
        return message != null
            ? (ActionResult)new OkObjectResult(message)
            : new BadRequestObjectResult($"Please create a key-value with the key '{keyName}' in App Configuration.");
    }
    

    Notitie

    De klasse Function1 en de methode Run mogen niet statisch zijn. Verwijder de aanpassing static als deze automatisch is gegenereerd.

De functie lokaal testen

  1. Stel een omgevingsvariabele in met de naam ConnectionString en stel deze in op de toegangssleutel van het App Configuration-archief. 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 ConnectionString "connection-string-of-your-app-configuration-store"
    

    Als u Windows PowerShell gebruikt, voert u de volgende opdracht uit:

        $Env:ConnectionString = "connection-string-of-your-app-configuration-store"
    

    Als u macOS of Linux gebruikt, voert u de volgende opdracht uit:

        export ConnectionString='connection-string-of-your-app-configuration-store'
    
  2. 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.

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

    Quickstart over foutopsporing in functies in Visual Studio

  4. 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.

    Quickstart over lokaal opstarten functies

Resources opschonen

Als u niet door wilt gaan met de resources die in dit artikel zijn gemaakt, 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.

  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 quickstart hebt u een nieuw App Configuration-archief gemaakt en dit via de provider App Configuration gebruikt met een Azure Functions-app. Ga door naar de volgende zelfstudie voor meer informatie over het bijwerken van de Azure Functions-app om de configuratie dynamisch te vernieuwen.