Freigeben über


Tutorial: Verwenden der dynamischen Konfiguration in JavaScript

In diesem Tutorial erfahren Sie, wie Sie die dynamische Konfiguration in Ihren JavaScript-Anwendungen aktivieren. Das Beispiel in diesem Tutorial basiert auf der Beispielanwendung, die in der JavaScript-Schnellstartanleitung eingeführt wurde. Bevor Sie fortfahren, beenden Sie das Erstellen einer JavaScript-App mit Azure App Configuration.

Voraussetzungen

Schlüsselwerte hinzufügen

Fügen Sie dem Azure App Configuration-Speicher die folgenden Schlüssel-Wert-Paare hinzu. Weitere Informationen zum Hinzufügen von Schlüssel-Wert-Paaren zu einem Speicher mithilfe des Azure-Portals oder der CLI finden Sie unter Erstellen eines Schlüssel-Wert-Paars.

Schlüssel Wert Bezeichnung Inhaltstyp
Nachricht Hello World! Leer lassen Leer lassen
sentinel 1 Leer lassen Leer lassen

Hinweis

Ein Sentinel-Schlüssel ist ein Schlüssel, den Sie aktualisieren, nachdem Sie die Änderung aller anderen Schlüssel abgeschlossen haben. Ihre App überwacht den Sentinel-Schlüssel. Wird eine Änderung erkannt, werden alle Konfigurationswerte von Ihrer App aktualisiert. Dieser Ansatz trägt dazu bei, die Konsistenz der Konfiguration in Ihrer App sicherzustellen, und verringert die Gesamtanzahl von Anforderungen, die an den Azure App Configuration-Speicher gesendet werden (verglichen mit der Überwachung aller Schlüssel auf Änderungen).

Erneutes Laden von Daten aus App Configuration

Die folgenden Beispiele zeigen, wie Sie aktualisierbare Konfigurationswerte in Konsolenanwendungen verwenden. Wählen Sie die folgenden Anweisungen basierend darauf aus, wie Ihre Anwendung Konfigurationsdaten nutzt, die aus der App-Konfiguration geladen wurden, entweder als Map oder als Konfigurationsobjekt.

  1. Öffnen Sie die Datei app.js und aktualisieren Sie die load-Funktion. Fügen Sie einen refreshOptions-Parameter hinzu, um die Aktualisierungsoptionen zu aktivieren und zu konfigurieren. Die geladene Konfiguration wird aktualisiert, wenn eine Änderung auf dem Server erkannt wird. Standardmäßig wird ein Aktualisierungsintervall von 30 Sekunden verwendet, Sie können es jedoch mit der refreshIntervalInMs-Eigenschaft überschreiben.

    // Connecting to Azure App Configuration using connection string
    const settings = await load(connectionString, {
        // Setting up to refresh when the sentinel key is changed
        refreshOptions: {
            enabled: true,
            watchedSettings: [{ key: "sentinel" }] // Watch for changes to the key "sentinel" and refreshes the configuration when it changes
        }
    });
    
  2. Das Einrichten von refreshOptions allein aktualisiert die Konfiguration nicht automatisch. Sie müssen die refresh-Methode aufrufen, um eine Aktualisierung auszulösen. Dieses Design verhindert unnötige Anforderungen an die App-Konfiguration, wenn ihre Anwendung im Leerlauf ist. Sie sollten den Aufruf refresh dort verwenden, wo Ihre Anwendungsaktivität auftritt. Dies wird als aktivitätsgesteuerte Konfigurationsaktualisierung bezeichnet. Sie können z. B. refresh beim Verarbeiten einer eingehenden Nachricht oder einer Bestellung oder innerhalb einer Iteration aufrufen, in der Sie eine komplexe Aufgabe ausführen. Alternativ können Sie einen Timer verwenden, wenn Ihre Anwendung immer aktiv ist. In diesem Beispiel wird refresh zu Demonstrationszwecken in einer Schleife aufgerufen. Selbst wenn der refresh-Aufruf aus einem beliebigen Grund fehlschlägt, verwendet Ihre Anwendung weiterhin die zwischengespeicherte Konfiguration. Ein weiterer Versuch wird unternommen, wenn das konfigurierte Aktualisierungsintervall verstrichen ist und der refresh-Aufruf von Ihrer Anwendungsaktivität ausgelöst wird. Das Aufrufen von refresh ist vor Verstreichen des konfigurierten Aktualisierungsintervalls keine Option. Daher sind die Auswirkungen auf die Leistung minimal, auch wenn der Aufruf häufig erfolgt.

    Fügen Sie den folgenden Code hinzu, um Konfigurationsänderungen von überwachten Schlüsselwerten abzufragen.

    // Polling for configuration changes every 5 seconds
    while (true) {
        await sleepInMs(5000); // Waiting before the next refresh
        await settings.refresh(); // Refreshing the configuration setting
        console.log(settings.get("message")); // Consume current value of message from a Map
    }
    
  3. Nun sollte die Datei app.js wie der folgende Codeausschnitt aussehen:

    const sleepInMs = require("util").promisify(setTimeout);
    const { load } = require("@azure/app-configuration-provider");
    const connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING;
    
    async function run() {
        // Connecting to Azure App Configuration using connection string
        const settings = await load(connectionString, {
            // Setting up to refresh when the sentinel key is changed
            refreshOptions: {
                enabled: true,
                watchedSettings: [{ key: "sentinel" }] // Watch for changes to the key "sentinel" and refreshes the configuration when it changes
            }
        });
    
        // Polling for configuration changes every 5 seconds
        while (true) {
            await sleepInMs(5000); // Waiting before the next refresh
            await settings.refresh(); // Refreshing the configuration setting
            console.log(settings.get("message")); // Consume current value of message from a Map
        }
    }
    
    run().catch(console.error);
    

Ausführen der Anwendung

  1. Führen Sie Ihr Skript aus:

    node app.js
    
  2. Überprüfen der Ausgabe:

    Hello World!
    

    Es wird weiterhin alle 5 Sekunden in einer neuen Zeile „Hello World!“ gedruckt.

  3. Aktualisieren Sie die folgenden Schlüsselwerte im Azure App Configuration-Speicher. Aktualisieren Sie zuerst den Wert des Schlüssels message und dann sentinel.

    Schlüssel Wert Bezeichnung Inhaltstyp
    message Hallo Welt - aktualisiert! Leer lassen Leer lassen
    sentinel 2 Leer lassen Leer lassen
  4. Nachdem die Werte aktualisiert wurden, wird der aktualisierte Wert nach dem Aktualisierungsintervall gedruckt.

    Hello World - Updated!
    

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.

  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 Tutorial haben Sie Ihre JavaScript-App aktiviert, um Konfigurationseinstellungen dynamisch aus Azure App Configuration zu aktualisieren. Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie eine von Azure verwaltete Identität hinzufügen, um den Zugriff auf Azure App Configuration zu optimieren.