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
- Beenden Sie die Schnellstartanleitung Erstellen einer JavaScript-App mit Azure App Configuration.
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.
Öffnen Sie die Datei app.js und aktualisieren Sie die
load
-Funktion. Fügen Sie einenrefreshOptions
-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 derrefreshIntervalInMs
-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 } });
Das Einrichten von
refreshOptions
allein aktualisiert die Konfiguration nicht automatisch. Sie müssen dierefresh
-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 Aufrufrefresh
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 wirdrefresh
zu Demonstrationszwecken in einer Schleife aufgerufen. Selbst wenn derrefresh
-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 derrefresh
-Aufruf von Ihrer Anwendungsaktivität ausgelöst wird. Das Aufrufen vonrefresh
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 }
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
Führen Sie Ihr Skript aus:
node app.js
Überprüfen der Ausgabe:
Hello World!
Es wird weiterhin alle 5 Sekunden in einer neuen Zeile „Hello World!“ gedruckt.
Aktualisieren Sie die folgenden Schlüsselwerte im Azure App Configuration-Speicher. Aktualisieren Sie zuerst den Wert des Schlüssels
message
und dannsentinel
.Schlüssel Wert Bezeichnung Inhaltstyp message Hallo Welt - aktualisiert! Leer lassen Leer lassen sentinel 2 Leer lassen Leer lassen 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.
- 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 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.