Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här snabbstarten skapar du en Azure Functions-app och använder funktionsflaggor i den. Du använder funktionshanteringen från Azure App Configuration för att centralt lagra alla dina funktionsflaggor och kontrollera deras tillstånd.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa en kostnadsfritt.
- En App Configuration-butik, som visas i guiden för att skapa en App Configuration-butik.
- Visual Studio med arbetsbelastning för Azure-utveckling.
Lägga till en funktionsflagga
Lägg till en funktionsflagga med namnet Beta i App Configuration Store och lämna Etikett och Beskrivning med sina standardvärden. Mer information om hur du lägger till funktionsflaggor i en butik med hjälp av Azure Portal eller CLI finns i Skapa en funktionsflagga.
               
              
            
Skapa en funktionsapp
Skapa en Azure Functions-app med Visual Studio genom att välja mallen Azure Functions (C#). Den här mallen vägleder dig genom att konfigurera viktiga inställningar för projektet. Detaljerade anvisningar finns i Utveckla Azure Functions med Visual Studio.
Använd följande tabell som referens för nyckelparametrar när du skapar funktionsappen.
| Inställning | Värde | 
|---|---|
| Funktionsarbetare | .NET 8.0 Isolerad | 
| Funktion | HTTP-utlösare | 
| Auktoriseringsnivå | Anonym | 
Anmärkning
Azure App Configuration kan användas med Azure Functions i antingen den isolerade arbetsmodellen eller i processmodellen. Den här snabbstarten använder den isolerade arbetsmodellen som exempel. Du hittar fullständiga kodexempel för båda modellerna i Azure App Configuration GitHub-lagringsplatsen.
Ansluta till ett appkonfigurationsarkiv
Du kan ansluta till din App Configuration-butik med hjälp av Microsoft Entra-ID (rekommenderas) eller en anslutningssträng.
- Högerklicka på projektet och välj Hantera NuGet-paket. På fliken Bläddra söker du efter och lägger till den senaste stabila versionen av följande NuGet-paket i projektet. - Microsoft.Azure.AppConfiguration.Functions.Worker
- Microsoft.FeatureManagement
- Azure.Identity
 
- Öppna Program.cs och uppdatera koden enligt följande. Du lägger till Azure App Configuration som en extra konfigurationskälla genom att anropa - AddAzureAppConfigurationmetoden.- Du använder - DefaultAzureCredentialför att autentisera mot din App Configuration-butik. Följ anvisningarna för att tilldela dina autentiseringsuppgifter rollen App Configuration Data Reader. Se till att ge tillräckligt med tid för att behörigheten ska spridas innan du kör programmet.- 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(); });- Metoden - UseFeatureFlags()instruerar leverantören att läsa in funktionsflaggor. Som standard läses alla funktionsflaggor utan etiketter in och uppdateras var 30:e sekund. Funktionsflaggors val och uppdateringsbeteende konfigureras oberoende av andra konfigurationsnyckelvärden. Du kan anpassa dessa beteenden genom att skicka en- FeatureFlagOptionsåtgärd till- UseFeatureFlagsmetoden. Använd- FeatureFlagOptions.Selectför att ange nycklar och etiketter för funktionsflaggor som ska läsas in och använd- FeatureFlagOptions.SetRefreshIntervalför att åsidosätta standarduppdateringsintervallet.- Tips - Om du inte vill att någon annan konfiguration än funktionsflaggor ska läsas in i ditt program kan du anropa - options.Select("_")för att bara läsa in en icke-existerande dummynyckel- "_". Som standard läses alla konfigurationsnyckelvärden utan etiketter i appkonfigurationsarkivet in om ingen- Selectmetod anropas.
- Uppdatera Program.cs-filen för att aktivera automatisk uppdatering av funktionsflaggan för varje funktionskörning genom att lägga till Mellanprogrammet för Azure App Configuration. Du registrerar även funktionshanteringstjänsten så att du kan mata in och använda den i funktionskoden senare. - // 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();
- Öppna Function1.cs och lägg till följande namnområde. - using Microsoft.FeatureManagement;- Uppdatera konstruktorn för att hämta en instans av - IVariantFeatureManagerSnapshotvia beroendeinmatning.- private readonly IVariantFeatureManagerSnapshot _featureManager; private readonly ILogger<Function1> _logger; public Function1(IVariantFeatureManagerSnapshot featureManager, ILogger<Function1> logger) { _featureManager = featureManager; _logger = logger; }
- RunUppdatera metoden för att returnera ett svarsmeddelande baserat på funktionsflaggans tillstånd.- [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"); }
Testa funktionen lokalt
- Ange miljövariabeln . - Ange miljövariabeln med namnet AZURE_APPCONFIG_ENDPOINT till slutpunkten för din App Configuration-butik som finns i Azure-portalen under Översikt över din butik. - Om du använder Windows-kommandotolken kör du följande kommando och startar om kommandotolken så att ändringen börjar gälla: - setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"- Om du använder PowerShell kör du följande kommando: - $Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"- Om du använder macOS eller Linux kör du följande kommando: - export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
- Tryck på F5 för att testa funktionen. Om du får en uppmaning accepterar du begäran från Visual Studio för att ladda ned och installera Azure Functions Core (CLI)-verktyg. Du kan också behöva aktivera ett undantag i brandväggen så att verktygen kan hantera HTTP-begäranden. 
- Kopiera URL:en för funktionen från dina Azure Functions-utdata.   
- Klistra in webbadressen för HTTP-begäran i webbläsarens adressfält. Följande bild visar svaret som anger att funktionsflaggan Beta är inaktiverad.   
- I Azure-portalen går du till din App Configuration-butik. Under Åtgärder väljer du Funktionshanterare, letar upp flaggan Beta-funktion och anger växlingsknappen Aktiverad till På. 
- Uppdatera webbläsaren några gånger. När tidsperioden för uppdateringsintervallet passerar ändras sidan för att indikera att funktionsflaggan Beta är aktiverad, enligt bilden.   
Rensa resurser
Om du inte vill fortsätta använda resurserna som skapas i den här artikeln tar du bort resursgruppen som du skapade här för att undvika avgifter.
Viktigt!
Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser i den tas bort permanent. Se till att du inte oavsiktligt tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för den här artikeln i en resursgrupp som innehåller andra resurser som du vill behålla tar du bort varje resurs individuellt från respektive fönster i stället för att ta bort resursgruppen.
- Logga in på Azure Portal och välj Resursgrupper.
- I rutan Filtrera efter namn anger du namnet på resursgruppen.
- I resultatlistan väljer du resursgruppens namn för att se en översikt.
- Välj Ta bort resursgrupp.
- Du blir ombedd att bekräfta borttagningen av resursgruppen. Ange namnet på resursgruppen för att bekräfta och välj Ta bort.
Efter en liten stund tas resursgruppen och alla dess resurser bort.
Nästa steg
I den här snabbstarten skapade du en funktionsflagga och använde den med en Azure Functions-app.
Se följande dokument för den fullständiga funktionsöversikten i .NET-funktionshanteringsbiblioteket.
Om du vill veta mer om hur du hanterar funktionsflaggor i Azure App Configuration fortsätter du till följande självstudie.