Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Schnellstartanleitung erstellen Sie eine Azure Functions-App und verwenden darin Featurekennzeichnungen. Sie nutzen die Featureverwaltung von Azure App Configuration zum zentralen Speichern Ihrer gesamten Featureflags und zum Steuern der zugehörigen Zustände.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Erstellen Sie ein kostenloses Konto.
- Ein App-Konfigurationsspeicher, wie in der Anleitung zum Erstellen eines Speichers gezeigt.
- Visual Studio mit der Workload Azure-Entwicklung.
Hinzufügen eines Featureflags
Fügen Sie dem App Configuration-Speicher ein Featureflag mit dem Namen Beta hinzu, und behalten Sie die Standardwerte für Bezeichnung und Beschreibung bei. Weitere Informationen zum Hinzufügen von Featureflags zu einem Speicher mithilfe des Azure-Portals oder der CLI finden Sie unter Erstellen eines Featureflags.
Erstellen einer Funktions-App
Erstellen Sie eine Azure Functions-App mit Visual Studio, indem Sie die Vorlage Azure-Funktionen (C#) auswählen. Diese Vorlage führt Sie durch die Konfiguration wesentlicher Einstellungen für Ihr Projekt. Ausführliche Anweisungen finden Sie unter Entwickeln von Azure-Funktionen mit Visual Studio.
Verwenden Sie die folgende Tabelle als Referenz für Schlüsselparameter beim Erstellen der Funktions-App.
| Einstellung | Wert |
|---|---|
| Funktionsdienstleister | .NET 8.0 (isoliert) |
| Funktion | HTTP-Trigger |
| Autorisierungsstufe | Anonym |
Hinweis
Azure App-Konfiguration kann mit Azure Functions entweder im isolierten Workermodell oder im In-Process-Modell verwendet werden. In dieser Schnellstartanleitung wird das isolierte Arbeitsmodell als Beispiel verwendet. Sie finden vollständige Codebeispiele für beide Modelle im GitHub-Repository der Azure-App-Konfiguration.
Herstellen einer Verbindung mit einem App Configuration-Speicher
Sie können eine Verbindung mit Ihrem App Configuration-Speicher entweder mithilfe von Microsoft Entra ID (empfohlen) oder mit einer Verbindungszeichenfolge herstellen.
Klicken Sie mit der rechten Maustaste auf Ihr Projekt, und wählen Sie NuGet-Pakete verwalten aus. Suchen Sie auf der Registerkarte Durchsuchen die nach der aktuellen stabilen Versionen der folgenden NuGet-Pakete, und fügen Sie sie Ihrem Projekt hinzu.
- Microsoft.Azure.AppConfiguration.Functions.Worker
- Microsoft.FeatureManagement
- Azure.Identity
Öffnen Sie Program.cs , und aktualisieren Sie den Code wie folgt. Sie fügen Azure App-Konfiguration als zusätzliche Konfigurationsquelle hinzu, indem Sie die
AddAzureAppConfigurationMethode aufrufen.Sie verwenden die
DefaultAzureCredentialzur Authentifizierung mit Ihrem App Configuration Store. Folgen Sie den Anweisungen , um Ihre Anmeldeinformationen der Rolle " App-Konfigurationsdatenleser " zuzuweisen. Achten Sie darauf, ausreichend Zeit für die Verteilung der Berechtigung einzuplanen, bevor Sie Ihre Anwendung ausführen.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(); });Die
UseFeatureFlags()Methode weist den Anbieter an, Featurekennzeichnungen zu laden. Standardmäßig werden alle Featurekennzeichnungen ohne Bezeichnungen alle 30 Sekunden geladen und aktualisiert. Das Auswahl- und Aktualisierungsverhalten von Featurekennzeichnungen wird unabhängig von anderen Konfigurationsschlüsselwerten konfiguriert. Sie können diese Verhaltensweisen anpassen, indem Sie eineFeatureFlagOptionsAktion an dieUseFeatureFlagsMethode übergeben. Geben Sie mitFeatureFlagOptions.Selectdie Schlüssel und Beschriftungen der zu ladenden Featureflags an, und setzen Sie mitFeatureFlagOptions.SetRefreshIntervaldas Standardaktualisierungsintervall außer Kraft.Tipp
Wenn Sie nicht möchten, dass eine andere Konfiguration als Featureflags in Ihre Anwendung geladen wird, können Sie
options.Select("_")nur einen nicht vorhandenen Dummyschlüssel laden"_"aufrufen. Standardmäßig werden alle Konfigurationsschlüsselwerte ohne Bezeichnungen im App-Konfigurationsspeicher geladen, wenn keineSelectMethode aufgerufen wird.Aktualisieren Sie die Program.cs-Datei , um die automatische Featurekennzeichnungsaktualisierung für jede Funktionsausführung zu aktivieren, indem Sie die Azure App-Konfigurations-Middleware hinzufügen. Sie registrieren auch den Featureverwaltungsdienst, sodass Sie ihn später in Ihren Funktionscode einfügen und verwenden können.
// 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();Öffnen Sie Function1.cs, und fügen Sie den folgenden Namespace hinzu.
using Microsoft.FeatureManagement;Aktualisieren Sie den Konstruktor, um eine Instanz von
IVariantFeatureManagerSnapshotdurch Dependency Injection zu erhalten.private readonly IVariantFeatureManagerSnapshot _featureManager; private readonly ILogger<Function1> _logger; public Function1(IVariantFeatureManagerSnapshot featureManager, ILogger<Function1> logger) { _featureManager = featureManager; _logger = logger; }Aktualisieren Sie die
RunMethode, um eine Antwortnachricht basierend auf dem Zustand des Feature-Flags zurückzugeben.[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"); }
Lokales Testen der Funktion
Legen Sie die Umgebungsvariable fest.
Legen Sie die Umgebungsvariable namens AZURE_APPCONFIG_ENDPOINT auf den Endpunkt Ihres App-Konfigurationsspeichers fest, der unter der Übersicht über Ihren Store im Azure-Portal zu finden ist.
Führen Sie bei Verwendung einer Windows-Eingabeaufforderung den folgenden Befehl aus, und starten Sie die Eingabeaufforderung neu, damit die Änderung wirksam wird:
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"Wenn Sie PowerShell verwenden, führen Sie den folgenden Befehl aus:
$Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"Führen Sie bei Verwendung von macOS oder Linux den folgenden Befehl aus:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'Drücken Sie F5, um Ihre Funktion zu testen. Akzeptieren Sie die entsprechende Aufforderung von Visual Studio zum Herunterladen und Installieren der Azure Functions Core (CLI)-Tools. Sie müssen möglicherweise auch eine Firewallausnahme aktivieren, damit die Tools HTTP-Anforderungen verarbeiten können.
Kopieren Sie die URL Ihrer Funktion aus der Azure Functions-Laufzeitausgabe.
Fügen Sie die URL der HTTP-Anforderung in die Adresszeile des Browsers ein. Die folgende Abbildung zeigt die Antwort, die angibt, dass das Featureflag Beta deaktiviert ist.
Navigieren Sie im Azure-Portal zu Ihrem App-Konfigurationsspeicher. Wählen Sie unter "Vorgänge" den "Feature-Manager" aus, suchen Sie das "Beta"-Feature-Flag, und legen Sie den "Aktiviert"-Schalter auf "Ein" fest.
Aktualisieren Sie den Browser mehrmals. Wenn das Zeitfenster des Aktualisierungsintervalls vorüber ist, wird die Seite geändert, um anzuzeigen, dass der Feature-Flag Beta aktiviert ist, wie in der Abbildung gezeigt.
Bereinigen von Ressourcen
Wenn Sie die in diesem Artikel erstellten Ressourcen nicht mehr verwenden möchten, löschen Sie die erstellte Ressourcengruppe, um Kosten zu vermeiden.
Wichtig
Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden unwiderruflich gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Falls Sie die Ressourcen für diesen Artikel in einer Ressourcengruppe erstellt haben, die andere beizubehaltende Ressourcen enthält, löschen Sie die Ressourcen einzeln über den entsprechenden Bereich, statt die Ressourcengruppe zu löschen.
- Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.
- Geben Sie im Feld Nach Name filtern den Namen Ihrer Ressourcengruppe ein.
- Wählen Sie in der Ergebnisliste den Ressourcengruppennamen aus, um eine Übersicht anzuzeigen.
- Wählen Sie die Option Ressourcengruppe löschen.
- Sie werden aufgefordert, das Löschen der Ressourcengruppe zu bestätigen. Geben Sie zur Bestätigung den Namen Ihrer Ressourcengruppe ein, und klicken Sie auf Löschen.
Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.
Nächste Schritte
In diesem Schnellstart erstellen Sie ein Feature-Flag und setzen es in einer Azure Functions-App ein.
Eine vollständige Übersicht über die .NET-Featureverwaltungsbibliothek finden Sie im folgenden Dokument.
Weitere Informationen zum Verwalten von Featureflags in Azure App Configuration erhalten Sie im folgenden Tutorial.