Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
- Účet Azure s aktivním předplatným. Vytvořte si ho zdarma.
- Úložiště App Configuration, jak je znázorněno v kurzu pro vytvoření úložiště.
- Visual Studio s úlohou vývoj pro Azure
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.
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.
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
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
AddAzureAppConfigurationmetody.Použijete
DefaultAzureCredentialpro 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ímFeatureFlagOptionsakce metoděUseFeatureFlags. SloužíFeatureFlagOptions.Selectk určení klíčů a popisků příznaků funkcí, které se mají načíst, a kFeatureFlagOptions.SetRefreshIntervalpř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áSelectmetoda.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();Otevřete Function1.cs a přidejte následující obor názvů.
using Microsoft.FeatureManagement;Aktualizujte konstruktor, aby získal instanci
IVariantFeatureManagerSnapshotpomocí injektování závislostí.private readonly IVariantFeatureManagerSnapshot _featureManager; private readonly ILogger<Function1> _logger; public Function1(IVariantFeatureManagerSnapshot featureManager, ILogger<Function1> logger) { _featureManager = featureManager; _logger = logger; }Aktualizujte metodu
Runtak, 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
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>'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.
Zkopírujte adresu URL vaší funkce z výstupu modulu runtime služby Azure Functions.
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ý.
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.
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.
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ů.
- Přihlaste se k webu Azure Portal a vyberte skupiny prostředků.
- Do pole Filtrovat podle názvu zadejte název vaší skupiny prostředků.
- V seznamu výsledků vyberte název skupiny prostředků, abyste zobrazili přehled.
- Vyberte odstranit skupinu zdrojů.
- 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.