Freigeben über


Lernprogramm: Verwenden der dynamischen Konfiguration in einer Azure Functions-App

In diesem Lernprogramm erfahren Sie, wie Sie dynamische Konfigurationsupdates in Ihrer Azure Functions-App aktivieren können. Sie baut auf der in den Schnellstarts eingeführten Azure Functions-App auf. Bevor Sie fortfahren, schließen Sie zuerst die Erstellung einer Azure Functions-App mit Azure App Configuration ab.

In diesem Tutorial lernen Sie Folgendes:

  • Einrichten einer dynamischen Konfigurationsaktualisierung für Ihre Azure Functions-App.
  • Aktivieren Sie die automatische Konfigurationsaktualisierung mithilfe der Middleware zur App-Konfiguration.
  • Verwenden Sie die neueste Konfiguration in Funktionsaufrufen, wenn Änderungen im App-Konfigurationsspeicher auftreten.

Voraussetzungen

Erneutes Laden von Daten aus App Configuration

Der Azure App Configuration .NET-Anbieter unterstützt das Zwischenspeichern und dynamische Aktualisierung von Konfigurationseinstellungen basierend auf der Anwendungsaktivität. In diesem Abschnitt konfigurieren Sie den Anbieter, um Einstellungen dynamisch zu aktualisieren und die automatische Konfigurationsaktualisierung mithilfe der App-Konfigurations-Middleware zu aktivieren, Microsoft.Azure.AppConfiguration.Functions.Workerbei jeder Ausführung einer Funktion.

Hinweis

Azure App-Konfiguration kann mit Azure Functions entweder im isolierten Workermodell oder im In-Process-Modell verwendet werden. In diesem Tutorial wird das isolierte Workermodell als Beispiel verwendet. Sie finden vollständige Codebeispiele für beide Modelle im GitHub-Repository der Azure-App-Konfiguration.

  1. Öffnen Sie die Program.cs-Datei, und aktualisieren Sie den Aufruf, damit er die AddAzureAppConfiguration-Methode einschließt. Diese Methode konfiguriert die Bedingungen für die Aktualisierung von Konfigurationseinstellungen, einschließlich der Angabe der zu überwachenden Schlüssel und des Intervalls zwischen Aktualisierungsprüfungen.

    // 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 keys that start with `TestApp:` and have no label
               .Select("TestApp:*")
               // Reload configuration if any selected key-values have changed.
               // Use the default refresh interval of 30 seconds. It can be overridden via AzureAppConfigurationRefreshOptions.SetRefreshInterval.
               .ConfigureRefresh(refreshOptions =>
               {
                   refreshOptions.RegisterAll();
               });
    });
    

    Sie rufen die RegisterAll Methode auf, um den App-Konfigurationsanbieter anzuweisen, die gesamte Konfiguration neu zu laden, wenn eine Änderung in einem der ausgewählten Schlüsselwerte erkannt wird (beginnend mit TestApp: und ohne Bezeichnung). Weitere Informationen zum Überwachen von Konfigurationsänderungen finden Sie unter Bewährte Methoden für die Aktualisierung der Konfiguration.

    Standardmäßig ist das Aktualisierungsintervall auf 30 Sekunden festgelegt. Sie können dieses Intervall anpassen, indem Sie die AzureAppConfigurationRefreshOptions.SetRefreshInterval Methode aufrufen.

  2. Aktualisieren Sie die Program.cs Datei, um bei jeder Funktionsausführung die automatische Konfigurationsaktualisierung zu aktivieren, indem Sie die Middleware für die App-Konfiguration hinzufügen:

    // Connect to Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        // Omitted the code added in the previous step.
    });
    
    // Add Azure App Configuration middleware to the service collection.
    builder.Services.AddAzureAppConfiguration()
    
    // Use Azure App Configuration middleware for dynamic configuration refresh.
    builder.UseAzureAppConfiguration();
    
    builder.ConfigureFunctionsWebApplication();
    
    builder.Build().Run();
    

Lokales Testen der Funktion

  1. 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>'
    
  2. 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.

  3. Kopieren Sie die URL Ihrer Funktion aus der Azure Functions-Laufzeitausgabe.

    Schnellstart: Debuggen von Funktionen in VS

  4. Fügen Sie die URL zu der HTTP-Anforderung in die Adressleiste Ihres Browsers ein. In der folgenden Abbildung sehen Sie die Antwort des Browsers auf die von der Funktion zurückgegebene lokale GET-Anforderung.

    Schnellstart: Lokales Starten von Funktionen

  5. Wählen Sie Ihren App-Konfigurationsspeicher im Azure-Portal aus, und aktualisieren Sie den Wert des folgenden Schlüssels im Konfigurations-Explorer.

    Schlüssel Wert
    TestApp:Settings:Message Daten aus Azure App Configuration: Aktualisiert
  6. Aktualisieren Sie Ihren Browser ein paar Mal. Nach ablauf des Standardaktualisierungsintervalls von 30 Sekunden zeigt die Seite den aktualisierten Wert an, der aus Ihrer Azure Functions-App abgerufen wurde.

    Lokale Aktualisierung der Schnellstartfunktion

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.

Von Bedeutung

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.

  1. Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.
  2. Geben Sie im Feld Nach Name filtern den Namen Ihrer Ressourcengruppe ein.
  3. Wählen Sie in der Ergebnisliste den Ressourcengruppennamen aus, um eine Übersicht anzuzeigen.
  4. Wählen Sie die Option Ressourcengruppe löschen.
  5. 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 Lernprogramm haben Sie Ihre Azure Functions-App aktiviert, um Konfigurationseinstellungen dynamisch aus der App-Konfiguration zu aktualisieren.

Wenn Sie erfahren möchten, wie Sie Featurekennzeichnungen aus der Azure-App-Konfiguration in Ihrer Azure Functions-App verwenden, fahren Sie mit dem folgenden Lernprogramm fort.

Wenn Sie erfahren möchten, wie Sie eine von Azure verwaltete Identität verwenden, um den Zugriff auf die App-Konfiguration zu optimieren, fahren Sie mit dem folgenden Lernprogramm fort.