Rychlý start: Vytvoření aplikace Azure Functions s konfigurací Aplikace Azure

V tomto rychlém startu zahrnete službu Aplikace Azure Configuration do aplikace Azure Functions, která centralizuje úložiště a správu všech nastavení aplikace odděleně od kódu.

Požadavky

Přidání hodnoty klíče

Přidejte do obchodu App Configuration následující klíč-hodnota a ponechte popisek a typ obsahu s výchozími hodnotami. Další informace o tom, jak přidat hodnoty klíčů do úložiště pomocí webu Azure Portal nebo rozhraní příkazového řádku, najdete v tématu Vytvoření hodnoty klíče.

Key Hodnota
TestApp:Nastavení:Message Data z konfigurace Aplikace Azure

Vytvoření aplikace Functions

Šablona projektu Azure Functions v sadě Visual Studio vytvoří projekt knihovny tříd jazyka C#, který můžete publikovat do aplikace funkcí v Azure. Aplikaci funkcí můžete použít k seskupení funkcí jako logické jednotky pro snadnější správu, nasazení, škálování a sdílení prostředků.

  1. V nabídce sady Visual Studio vyberte Soubor>nový>projekt.

  2. V části Vytvořit nový projekt zadejte do vyhledávacího pole funkce , zvolte šablonu Azure Functions a pak vyberte Další.

  3. V části Konfigurace nového projektu zadejte název projektu a pak vyberte Vytvořit. Název aplikace funkcí musí být platný jako obor názvů C#, takže nepoužívejte podtržítka, pomlčky nebo jiné nealfanumerické znaky.

  4. Pro vytvoření nového nastavení aplikace Azure Functions použijte hodnoty v následující tabulce:

    Nastavení Hodnota Popis
    Verze .NET Izolovaná platforma .NET 6 Tato hodnota vytvoří projekt funkce, který běží v izolovaném pracovním procesu. Izolovaný pracovní proces podporuje jinou verzi .NET než LTS a také rozhraní .NET Framework. Další informace najdete v přehledu verzí modulu runtime Azure Functions.
    Šablona funkce Trigger HTTP Tato hodnota vytvoří funkci aktivovanou požadavkem HTTP.
    Účet úložiště (AzureWebJobsStorage) Emulátor úložiště Vzhledem k tomu, že aplikace funkcí v Azure vyžaduje účet úložiště, přiřadí se nebo vytvoří při publikování projektu do Azure. Trigger HTTP nepoužívá účet služby Azure Storage připojovací řetězec; všechny ostatní typy triggerů vyžadují platný účet služby Azure Storage připojovací řetězec.
    Úroveň autorizace Anonymní Vytvořenou funkci může aktivovat libovolný klient bez zadání klíče. Toto nastavení autorizace usnadňuje testování nových funkcí. Další informace o klíčích a autorizaci najdete v tématu Autorizační klíče a vazby HTTP a webhooku.

    Nastavení projektu Azure Functions

    Ujistěte se, že jste nastavili úroveň autorizace na anonymní. Pokud zvolíte výchozí úroveň funkce, budete muset předložit klíč funkce v požadavcích pro přístup ke koncovému bodu funkce.

  5. Výběrem možnosti Vytvořit vytvořte projekt funkce a funkci triggeru HTTP.

Připojení do App Configuration Storu

Tento projekt použije injektáž závislostí v .NET Azure Functions a přidá Aplikace Azure Konfiguraci jako další zdroj konfigurace. Azure Functions podporuje spouštění v procesu nebo izolovaném procesu. Vyberte ten, který odpovídá vašim požadavkům.

  1. Klikněte pravým tlačítkem na projekt a vyberte Spravovat balíčky NuGet. Na kartě Procházet vyhledejte a přidejte do projektu následující balíčky NuGet.

  2. Přidejte kód pro připojení ke Aplikace Azure Configuration.

    Přidejte nový soubor Startup.cs s následujícím kódem. Definuje třídu s názvem Startup , která implementuje FunctionsStartup abstraktní třídu. Atribut sestavení slouží k zadání názvu typu použitého při spuštění služby Azure Functions.

    Metoda ConfigureAppConfiguration se přepíše a Aplikace Azure zprostředkovatel konfigurace se přidá jako další zdroj konfigurace voláním AddAzureAppConfiguration(). Metoda Configure je v tuto chvíli prázdná, protože v tuto chvíli nemusíte registrovat žádné služby.

    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. Otevřete Function1.cs a přidejte následující obor názvů, pokud ještě není k dispozici.

    using Microsoft.Extensions.Configuration;
    

    Přidejte nebo aktualizujte konstruktor použitý k získání instance IConfiguration prostřednictvím injektáže závislostí.

    private readonly IConfiguration _configuration;
    
    public Function1(IConfiguration configuration)
    {
        _configuration = configuration;
    }
    
  4. Aktualizujte metodu tak Run , aby načetla hodnoty z konfigurace.

    [FunctionName("Function1")]
    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.");
    
        // Read configuration data
        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.");
    }
    

    Poznámka:

    Třída Function1 a Run metoda by neměly být statické. static Odeberte modifikátor, pokud byl automaticky vygenerován.

Místní testování funkce

  1. Nastavte proměnnou prostředí s názvem Připojení ionString a nastavte ji na přístupový klíč do obchodu App Configuration Store. Pokud používáte příkazový řádek systému Windows, spusťte následující příkaz a restartujte příkazový řádek, aby se změna projevila:

        setx ConnectionString "connection-string-of-your-app-configuration-store"
    

    Pokud používáte Windows PowerShell, spusťte následující příkaz:

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

    Pokud používáte macOS nebo Linux, spusťte následující příkaz:

        export ConnectionString='connection-string-of-your-app-configuration-store'
    
  2. Stisknutím klávesy F5 otestujte funkci. Pokud se zobrazí výzva, přijměte požadavek ze sady Visual Studio ke stažení a instalaci nástrojů Azure Functions Core (CLI). Možná budete muset také povolit výjimku brány firewall, aby nástroje mohly zpracovávat požadavky HTTP.

  3. Zkopírujte adresu URL vaší funkce z výstupu modulu runtime služby Azure Functions.

    Rychlé zprovoznění ladění funkcí ve VS

  4. Vložte adresu URL pro požadavek HTTP do panelu adresy prohlížeče. Následující obrázek ukazuje odpověď v prohlížeči na místní požadavek GET vrácený funkcí.

    Místní spuštění funkce Rychlé zprovoznění

Vyčištění prostředků

Pokud nechcete dál používat prostředky vytvořené v tomto článku, odstraňte skupinu prostředků, kterou jste tady vytvořili, abyste se vyhnuli poplatkům.

Důležité

Odstranění skupiny prostředků je nevratné. Skupina prostředků a všechny prostředky v ní se trvale odstraní. Ujistěte se, že omylem neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste vytvořili prostředky pro tento článek ve skupině prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte jednotlivé prostředky z příslušného podokna místo odstranění skupiny prostředků.

  1. Přihlaste se k webu Azure Portal a vyberte skupiny prostředků.
  2. Do pole Filtrovat podle názvu zadejte název vaší skupiny prostředků.
  3. V seznamu výsledků vyberte název skupiny prostředků, abyste zobrazili přehled.
  4. Vyberte Odstranit skupinu prostředků.
  5. Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Potvrďte název skupiny prostředků a vyberte Odstranit.

Po chvíli se skupina prostředků a všechny její prostředky odstraní.

Další kroky

V tomto rychlém startu jste vytvořili nový obchod App Configuration a použili ho s aplikací Azure Functions prostřednictvím zprostředkovatele konfigurace aplikace. Pokud chcete zjistit, jak aktualizovat aplikaci Azure Functions tak, aby dynamicky aktualizovala konfiguraci, pokračujte dalším kurzem.

Pokud chcete zjistit, jak pomocí spravované identity Azure zjednodušit přístup ke službě App Configuration, pokračujte dalším kurzem.