Sdílet prostřednictvím


Rychlý start: Přidání příznaků funkcí do aplikace Azure Functions

V tomto rychlém startu vytvoříte aplikaci Azure Functions a použijete v ní příznaky funkcí. Pomocí správy funkcí z Azure App Configuration můžete centrálně ukládat všechny příznaky funkcí a řídit jejich stavy.

Požadavky

Přidání příznaku funkce

Přidejte příznak funkce s názvem Beta do obchodu App Configuration Store a ponechte popis a popis s výchozími hodnotami. Další informace o přidání příznaků funkcí do úložiště pomocí webu Azure Portal nebo rozhraní příkazového řádku najdete v části Vytvoření příznaku funkce.

Povolit funkční příznak jménem Beta

Vytvořte aplikaci funkcí

Výběrem šablony Azure Functions (C#) vytvořte aplikaci Azure Functions pomocí sady Visual Studio. Tato šablona vás provede konfigurací základních nastavení pro váš projekt. Podrobné pokyny najdete v tématu Vývoj azure Functions pomocí sady Visual Studio.

Při vytváření aplikace funkcí použijte následující tabulku jako referenci pro klíčové parametry.

Nastavení Hodnota
Výkonný pracovník Functions Izolované prostředí .NET 8.0
Funkce HTTP spouštěč
Úroveň autorizace Anonymní

Poznámka:

Azure App Configuration je možné použít se službou Azure Functions v izolovaném modelu pracovního procesu nebo v modelu v procesu. V tomto rychlém úvodu se jako příklad používá izolovaný model pracovníka. Kompletní příklady kódu pro oba modely najdete v úložišti GitHub konfigurace aplikace Azure.

Připojení ke službě App Configuration Store

Můžete se připojit do svého úložiště App Configuration pomocí Microsoft Entra ID (doporučeno) nebo připojovacího řetězce.

  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 nejnovější stabilní verzi následujících balíčků NuGet.

    • Microsoft.Azure.AppConfiguration.Functions.Worker
    • Microsoft.FeatureManagement
    • Azure.Identity
  2. Otevřete Program.cs a následujícím způsobem aktualizujte kód. Azure App Configuration přidáte jako další zdroj konfigurace voláním AddAzureAppConfiguration metody.

    Použijete DefaultAzureCredential pro ověření do služby App Configuration. Postupujte podle pokynů, aby vaše přihlašovací údaje byly přiřazeny k roli Čtenář dat konfigurace aplikace. Ujistěte se, že před spuštěním aplikace necháte dostatek času na šíření oprávnění.

    using Azure.Identity;
    using Microsoft.Azure.Functions.Worker.Builder;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Hosting;
    using Microsoft.FeatureManagement;
    
    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 feature flags with no label. To load feature flags with specific keys and labels, set via FeatureFlagOptions.Select.
               // Use the default refresh interval of 30 seconds. It can be overridden via FeatureFlagOptions.SetRefreshInterval.
               .UseFeatureFlags();
    });
    

    Metoda UseFeatureFlags() dává poskytovateli pokyn, aby načetl příznaky funkcí. Ve výchozím nastavení se všechny funkční příznaky bez popisků načítají a aktualizují každých 30 sekund. Výběr a chování aktualizace příznaků funkcí se konfigurují nezávisle na jiných hodnotách klíče konfigurace. Toto chování můžete přizpůsobit předáním FeatureFlagOptions akce metodě UseFeatureFlags . Slouží FeatureFlagOptions.Select k určení klíčů a popisků příznaků funkcí, které se mají načíst, a k FeatureFlagOptions.SetRefreshInterval přepsání výchozího intervalu aktualizace.

    Návod

    Pokud nechcete, aby se do vaší aplikace načetla žádná jiná konfigurace než příznaky funkcí, můžete volat options.Select("_") pouze načtení neexistujícího fiktivního klíče "_". Ve výchozím nastavení se načtou všechny hodnoty klíče konfigurace bez popisků v obchodě App Configuration Store, pokud není volána žádná Select metoda.

  3. Aktualizujte soubor Program.cs , aby se při každém spuštění funkce povolila automatická aktualizace příznaků funkcí přidáním middlewaru azure App Configuration. Zaregistrujete také službu správy funkcí, která vám umožní vkládat a používat ji v kódu funkce později.

    // Connect to Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        // Omitted the code added in the previous step.
    });
    
    // Add Azure App Configuration middleware and feature management to the service collection.
    builder.Services
        .AddAzureAppConfiguration()
        .AddFeatureManagement();
    
    // Use Azure App Configuration middleware for dynamic configuration and feature flag refresh.
    builder.UseAzureAppConfiguration();
    
    builder.ConfigureFunctionsWebApplication();
    
    builder.Build().Run();
    
  4. Otevřete Function1.cs a přidejte následující obor názvů.

    using Microsoft.FeatureManagement;
    

    Aktualizujte konstruktor, aby získal instanci IVariantFeatureManagerSnapshot pomocí injektování závislostí.

    private readonly IVariantFeatureManagerSnapshot _featureManager;
    private readonly ILogger<Function1> _logger;
    
    public Function1(IVariantFeatureManagerSnapshot featureManager, ILogger<Function1> logger)
    {
        _featureManager = featureManager;
        _logger = logger;
    }
    
  5. Aktualizujte metodu Run tak, aby vrátila zprávu odpovědi na základě stavu příznaku funkce.

    [Function("Function1")]
    public async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req)
    {
        _logger.LogInformation("C# HTTP trigger function processed a request.");
    
        // Read feature flag
        string featureName = "Beta";
        bool featureEnabled = await _featureManager.IsEnabledAsync(featureName, req.HttpContext.RequestAborted);
    
        return new OkObjectResult(featureEnabled
            ? $"The Feature Flag '{featureName}' is turned ON!"
            : $"The Feature Flag '{featureName}' is turned OFF");
    }
    

Místní testování funkce

  1. Nastavte proměnnou prostředí.

    Nastavte proměnnou prostředí s názvem AZURE_APPCONFIG_ENDPOINT na koncový bod obchodu App Configuration, který najdete v části Přehled obchodu na webu Azure Portal.

    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 AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"
    

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

    $Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
    

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

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-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ý start ladění funkcí ve VS

  4. Vložte adresu URL požadavku HTTP do adresního řádku prohlížeče. Následující obrázek ukazuje odpověď, která indikuje, že příznak funkce Beta je zakázaný.

    Příznak funkce rychlého startu je zakázaný

  5. Na webu Azure Portal přejděte do obchodu App Configuration Store. V části Operace vyberte Správce funkcí, vyhledejte příznak funkce Beta a nastavte přepínač Povoleno na Zapnuto.

  6. Několikrát aktualizujte prohlížeč. Po uplynutí časového intervalu aktualizace se stránka změní tak, aby bylo vidět, že je zapnutá funkční vlajka Beta, jak je znázorněno na obrázku.

    Příznak funkce rychlého startu je povolený

Vyčistěte zdroje

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í. Dávejte pozor, abyste omylem neodstranili nesprávnou skupinu prostředků nebo jednotlivé 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 zdrojů.
  5. Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Potvrďte název skupiny prostředků a vyberte Odstranit.

Po několika okamžicích se skupina prostředků a všechny její prostředky vymažou.

Další kroky

V tomto rychlém startu jste vytvořili příznak funkce a použili ho s aplikací Azure Functions.

Úplný běh funkcí knihovny pro správu funkcí .NET najdete v následujícím dokumentu.

Další informace o správě příznaků funkcí v konfiguraci Aplikace Azure najdete v následujícím kurzu.