Kurz: Použití dynamické konfigurace v JavaScriptu
V tomto kurzu se dozvíte, jak povolit dynamickou konfiguraci v javascriptových aplikacích. Příklad v tomto kurzu vychází z ukázkové aplikace představené v rychlém startu javascriptu. Než budete pokračovat, dokončete vytvoření javascriptové aplikace s konfigurací Aplikace Azure.
Požadavky
- Dokončete rychlý start– Vytvoření javascriptové aplikace pomocí konfigurace Aplikace Azure.
Přidání hodnot klíče
Do úložiště konfigurace Aplikace Azure přidejte následující hodnotu klíče. Další informace o tom, jak přidat hodnoty klíčů do úložiště pomocí webu Azure Portal nebo rozhraní příkazového řádku, najdete v tématu Vytvoření hodnoty klíče.
Key | Hodnota | Popisek | Typ obsahu |
---|---|---|---|
message | Ahoj světe! | Nechejte prázdné. | Nechejte prázdné. |
Sentinel | 1 | Nechejte prázdné. | Nechejte prázdné. |
Poznámka:
Klíč sentinelu je klíč, který aktualizujete po dokončení změny všech ostatních klíčů. Vaše aplikace monitoruje klíč sentinelu. Když se zjistí změna, aplikace aktualizuje všechny konfigurační hodnoty. Tento přístup pomáhá zajistit konzistenci konfigurace v aplikaci a snižuje celkový počet požadavků provedených v úložišti konfigurace Aplikace Azure v porovnání s monitorováním všech klíčů pro změny.
Opětovné načtení dat z konfigurace aplikace
Následující příklady ukazují, jak používat aktualizovatelné konfigurační hodnoty v konzolových aplikacích.
Na základě toho, jak vaše aplikace využívá konfigurační data načtená z App Configuration, buď jako Map
objekt konfigurace, nebo jako objekt konfigurace, zvolte následující pokyny.
Otevřete soubor app.js a aktualizujte
load
funkci.refreshOptions
Přidejte parametr, který povolí aktualizaci a nakonfiguruje možnosti aktualizace. Načtená konfigurace se aktualizuje při zjištění změny na serveru. Ve výchozím nastavení se používá interval aktualizace 30 sekund, ale můžete horefreshIntervalInMs
přepsat vlastností.// 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 } });
Samotné nastavení
refreshOptions
nebude automaticky aktualizovat konfiguraci. K aktivaci aktualizace je potřeba volatrefresh
metodu. Tento návrh zabraňuje zbytečným požadavkům na konfiguraci aplikace, když je vaše aplikace nečinná. Měli byste zahrnout volání,refresh
ve kterém dojde k aktivitě vaší aplikace. To se označuje jako aktualizace konfigurace řízené aktivitami. Můžete například volatrefresh
při zpracování příchozí zprávy nebo objednávky nebo uvnitř iterace, kde provádíte složitý úkol. Případně můžete použít časovač, pokud je vaše aplikace vždy aktivní. V tomto příkladurefresh
se volá ve smyčce pro demonstrační účely. I když volání z nějakéhorefresh
důvodu selže, vaše aplikace bude dál používat konfiguraci uloženou v mezipaměti. Další pokus se provede, když se předá nakonfigurovaný interval aktualizace arefresh
volání se aktivuje aktivitou vaší aplikace. Volánírefresh
je no-op před uplynutím nakonfigurovaného intervalu aktualizace, takže jeho dopad na výkon je minimální, i když se volá často.Přidejte následující kód pro dotazování změn konfigurace sledovaných hodnot klíč-hodnota.
// 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 }
Teď by soubor app.js měl vypadat jako následující fragment kódu:
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);
Spuštění aplikace
Spusťte skript:
node app.js
Ověřit výstup:
Hello World!
Po 5 sekundách se v novém řádku bude dál tisknout text "Hello World!".
Aktualizujte následující hodnoty klíče do úložiště konfigurace Aplikace Azure. Nejprve aktualizujte hodnotu klíče
message
a paksentinel
.Key Hodnota Popisek Typ obsahu message Hello World - aktualizováno! Nechejte prázdné. Nechejte prázdné. Sentinel 2 Nechejte prázdné. Nechejte prázdné. Po aktualizaci hodnot se aktualizovaná hodnota vytiskne po intervalu aktualizace.
Hello World - Updated!
Vyčištění prostředků
Pokud nechcete dál používat prostředky vytvořené v tomto článku, odstraňte skupinu prostředků, kterou jste tady vytvořili, abyste se vyhnuli poplatkům.
Důležité
Odstranění skupiny prostředků je nevratné. Skupina prostředků a všechny prostředky v ní se trvale odstraní. Ujistěte se, že omylem neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste vytvořili prostředky pro tento článek ve skupině prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte jednotlivé prostředky z příslušného podokna místo odstranění skupiny prostředků.
- Přihlaste se k webu Azure Portal a vyberte skupiny prostředků.
- Do pole Filtrovat podle názvu zadejte název vaší skupiny prostředků.
- V seznamu výsledků vyberte název skupiny prostředků, abyste zobrazili přehled.
- Vyberte Odstranit skupinu prostředků.
- Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Potvrďte název skupiny prostředků a vyberte Odstranit.
Po chvíli se skupina prostředků a všechny její prostředky odstraní.
Další kroky
V tomto kurzu jste povolili aplikaci v JavaScriptu, aby dynamicky aktualizovala nastavení konfigurace z Aplikace Azure Konfigurace. Pokud chcete zjistit, jak pomocí spravované identity Azure zjednodušit přístup ke konfiguraci Aplikace Azure, pokračujte dalším kurzem.