Sdílet prostřednictvím


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

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.

  1. 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 ho refreshIntervalInMs 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
        }
    });
    
  2. Samotné nastavení refreshOptions nebude automaticky aktualizovat konfiguraci. K aktivaci aktualizace je potřeba volat refresh 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 volat refresh 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říkladu refresh se volá ve smyčce pro demonstrační účely. I když volání z nějakého refresh 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 a refresh 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
    }
    
  3. 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

  1. Spusťte skript:

    node app.js
    
  2. Ověřit výstup:

    Hello World!
    

    Po 5 sekundách se v novém řádku bude dál tisknout text "Hello World!".

  3. Aktualizujte následující hodnoty klíče do úložiště konfigurace Aplikace Azure. Nejprve aktualizujte hodnotu klíče message a pak sentinel.

    Key Hodnota Popisek Typ obsahu
    message Hello World - aktualizováno! Nechejte prázdné. Nechejte prázdné.
    Sentinel 2 Nechejte prázdné. Nechejte prázdné.
  4. 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ů.

  1. Přihlaste se k webu Azure Portal a vyberte skupiny prostředků.
  2. Do pole Filtrovat podle názvu zadejte název vaší skupiny prostředků.
  3. V seznamu výsledků vyberte název skupiny prostředků, abyste zobrazili přehled.
  4. Vyberte Odstranit skupinu prostředků.
  5. 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.