Sdílet prostřednictvím


Rychlý start: Vytvoření konzolové aplikace Node.js s konfigurací Aplikace Azure

V tomto rychlého průvodce použijete Azure App Configuration k centralizaci úložiště a správy nastavení aplikace pomocí klientské knihovny Azure App Configuration JavaScript provider.

Zprostředkovatel konfigurace aplikací pro JavaScript je založený na sadě Azure SDK pro JavaScript a je navržený tak, aby se snadněji používal s bohatšími funkcemi. Umožňuje přístup k hodnotám klíčů v App Configuration jako objektu Map . Nabízí funkce, jako je složení konfigurace z více štítků, oříznutí předpony klíčů, automatické rozlišení odkazů na Key Vault a mnoho dalších funkcí. V tomto kurzu se například dozvíte, jak používat zprostředkovatele JavaScriptu v aplikaci Node.js.

Požadavky

Přidejte klíčové hodnoty

Do úložiště App Configuration přidejte následující hodnoty klíčů. 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.

Klíč Hodnota Typ obsahu
zpráva Zpráva z konfigurace Aplikace Azure Nechejte prázdné.
app.greeting Ahoj světe Nechejte prázdné.
app.json {"myKey":"myValue"} application/json

Vytvoření konzolové aplikace Node.js

V tomto kurzu vytvoříte konzolovou aplikaci Node.js a načtete data z app Configuration Storu.

  1. Vytvořte nový adresář pro projekt s názvem app-configuration-quickstart.

    mkdir app-configuration-quickstart
    
  2. Přepněte do nově vytvořené složky app-configuration-quickstart.

    cd app-configuration-quickstart
    
  3. Nainstalujte zprostředkovatele Azure App Configuration pomocí příkazu npm install.

    npm install @azure/app-configuration-provider
    

Připojení ke službě App Configuration Store

Následující příklady ukazují, jak načíst konfigurační data z Aplikace Azure Konfigurace a využít je ve vaší aplikaci. Ve výchozím nastavení se klíčové hodnoty načítají jako Map objekt, což umožňuje přístup ke každé klíčové hodnotě pomocí jejího úplného názvu klíče. Pokud však vaše aplikace používá objekty konfigurace, můžete použít constructConfigurationObject pomocné rozhraní API, které vytvoří objekt konfigurace na základě hodnot klíčů načtených z Aplikace Azure Configuration.

V adresáři app-configuration-quickstart vytvořte soubor s názvem app.jsa zkopírujte kód z každé ukázky.

Ukázka 1: Načtení hodnot klíčů s výchozím selektorem

V této ukázce se připojíte k Azure App Configuration a načtete klíč-hodnoty bez zadání pokročilých možností. Ve výchozím nastavení načte všechny hodnoty klíče bez popisku. Můžete se připojit do svého úložiště App Configuration pomocí Microsoft Entra ID (doporučeno) nebo připojovacího řetězce.

Použijete DefaultAzureCredential k ověření ve službě App Configuration Store. Postupujte podle pokynů, aby vaše přihlašovací údaje byly přiřazeny k roli Čtenář dat konfigurace aplikace. Ujistěte se, že před spuštěním aplikace necháte dostatek času na šíření oprávnění.

const { load } = require("@azure/app-configuration-provider");
const { DefaultAzureCredential } = require("@azure/identity");
const endpoint = process.env.AZURE_APPCONFIG_ENDPOINT;
const credential = new DefaultAzureCredential(); // For more information, see https://learn.microsoft.com/azure/developer/javascript/sdk/credential-chains#use-defaultazurecredential-for-flexibility

async function run() {
    console.log("Sample 1: Load key-values with default selector");

    // Connect to Azure App Configuration using a token credential and load all key-values with null label.
    const settings = await load(endpoint, credential);

    console.log("---Consume configuration as a Map---");
    // Find the key "message" and print its value.
    console.log('settings.get("message"):', settings.get("message"));           // settings.get("message"): Message from Azure App Configuration
    // Find the key "app.greeting" and print its value.
    console.log('settings.get("app.greeting"):', settings.get("app.greeting")); // settings.get("app.greeting"): Hello World
    // Find the key "app.json" whose value is an object.
    console.log('settings.get("app.json"):', settings.get("app.json"));         // settings.get("app.json"): { myKey: 'myValue' }

    console.log("---Consume configuration as an object---");
    // Construct configuration object from loaded key-values, by default "." is used to separate hierarchical keys.
    const config = settings.constructConfigurationObject();
    // Use dot-notation to access configuration
    console.log("config.message:", config.message);             // config.message: Message from Azure App Configuration
    console.log("config.app.greeting:", config.app.greeting);   // config.app.greeting: Hello World
    console.log("config.app.json:", config.app.json);           // config.app.json: { myKey: 'myValue' }
}

run().catch(console.error);

Ukázka 2: Načtení konkrétních hodnot klíče pomocí selektorů

V této ukázce načtete podmnožinu klíčových hodnot zadáním opce selectors. Načtou se jenom klíče začínající s "app.". Pamatujte, že můžete zadat více selektorů podle vašich potřeb, přičemž každý má vlastnosti keyFilter a labelFilter.

const { load } = require("@azure/app-configuration-provider");
const { DefaultAzureCredential } = require("@azure/identity");
const endpoint = process.env.AZURE_APPCONFIG_ENDPOINT;
const credential = new DefaultAzureCredential(); // For more information, see https://learn.microsoft.com/azure/developer/javascript/sdk/credential-chains#use-defaultazurecredential-for-flexibility

async function run() {
    console.log("Sample 2: Load specific key-values using selectors");

    // Load a subset of keys starting with "app." prefix.
    const settings = await load(endpoint, credential, {
        selectors: [{
            keyFilter: "app.*"
        }],
    });

    console.log("---Consume configuration as a Map---");
    // The key "message" is not loaded as it does not start with "app."
    console.log('settings.has("message"):', settings.has("message"));           // settings.has("message"): false
    // The key "app.greeting" is loaded
    console.log('settings.has("app.greeting"):', settings.has("app.greeting")); // settings.has("app.greeting"): true
    // The key "app.json" is loaded
    console.log('settings.has("app.json"):', settings.has("app.json"));         // settings.has("app.json"): true

    console.log("---Consume configuration as an object---");
    // Construct configuration object from loaded key-values
    const config = settings.constructConfigurationObject({ separator: "." });
    // Use dot-notation to access configuration
    console.log("config.message:", config.message);         // config.message: undefined
    console.log("config.app.greeting:", config.app.greeting);   // config.app.greeting: Hello World
    console.log("config.app.json:", config.app.json);           // config.app.json: { myKey: 'myValue' }
}

run().catch(console.error);

Ukázka 3: Načtení hodnot klíčů a oříznutí předpony z klíčů

V této ukázce načtete klíčové hodnoty s možností trimKeyPrefixes. Po načtení hodnot klíčů je předpona "app." oříznuta ze všech klíčů. To je užitečné, když chcete načíst konfigurace specifické pro vaši aplikaci filtrováním podle určité předpony klíče, ale nechcete, aby váš kód obsahoval předponu pokaždé, když přistupuje ke konfiguraci.

const { load } = require("@azure/app-configuration-provider");
const { DefaultAzureCredential } = require("@azure/identity");
const endpoint = process.env.AZURE_APPCONFIG_ENDPOINT;
const credential = new DefaultAzureCredential(); // For more information, see https://learn.microsoft.com/azure/developer/javascript/sdk/credential-chains#use-defaultazurecredential-for-flexibility

async function run() {
    console.log("Sample 3: Load key-values and trim prefix from keys");

    // Load all key-values with no label, and trim "app." prefix from all keys.
    const settings = await load(endpoint, credential, {
        selectors: [{
            keyFilter: "app.*"
        }],
        trimKeyPrefixes: ["app."]
    });

    console.log("---Consume configuration as a Map---");
    // The original key "app.greeting" is trimmed as "greeting".
    console.log('settings.get("greeting"):', settings.get("greeting")); // settings.get("greeting"): Hello World
    // The original key "app.json" is trimmed as "json".
    console.log('settings.get("json"):', settings.get("json"));         // settings.get("json"): { myKey: 'myValue' }

    console.log("---Consume configuration as an object---");
    // Construct configuration object from loaded key-values with trimmed keys.
    const config = settings.constructConfigurationObject();
    // Use dot-notation to access configuration
    console.log("config.greeting:", config.greeting);   // config.greeting: Hello World
    console.log("config.json:", config.json);           // config.json: { myKey: 'myValue' }
}

run()

Spuštění aplikace

  1. Nastavte proměnnou prostředí.

    Nastavte proměnnou prostředí s názvem AZURE_APPCONFIG_ENDPOINT na koncový bod obchodu App Configuration, který najdete v části Přehled obchodu na webu Azure Portal.

    Pokud používáte příkazový řádek systému Windows, spusťte následující příkaz a restartujte příkazový řádek, aby se změna projevila:

    setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"
    

    Pokud používáte PowerShell, spusťte následující příkaz:

    $Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
    

    Pokud používáte macOS nebo Linux, spusťte následující příkaz:

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Jakmile je proměnná prostředí správně nastavená, spusťte aplikaci místně spuštěním následujícího příkazu:

    node app.js
    

    Pro každou ukázku byste měli vidět následující výstup:

    Ukázka 1

    Sample 1: Load key-values with default selector
    ---Consume configuration as a Map---
    settings.get("message"): Message from Azure App Configuration
    settings.get("app.greeting"): Hello World
    settings.get("app.json"): { myKey: 'myValue' }
    ---Consume configuration as an object---
    config.message: Message from Azure App Configuration
    config.app.greeting: Hello World
    config.app.json: { myKey: 'myValue' }
    

    Ukázka 2

    Sample 2: Load specific key-values using selectors
    ---Consume configuration as a Map---
    settings.has("message"): false
    settings.has("app.greeting"): true
    settings.has("app.json"): true
    ---Consume configuration as an object---
    config.message: undefined
    config.app.greeting: Hello World
    config.app.json: { myKey: 'myValue' }
    

    Ukázka 3

    Sample 3: Load key-values and trim prefix from keys
    ---Consume configuration as a Map---
    settings.get("greeting"): Hello World
    settings.get("json"): { myKey: 'myValue' }
    ---Consume configuration as an object---
    config.greeting: Hello World
    config.json: { myKey: 'myValue' }
    

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 nesmažete špatnou skupinu prostředků nebo jednotlivé 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 několika okamžicích se skupina prostředků a všechny její prostředky odstraní.

Další kroky

V tomto průvodci rychlým startem jste vytvořili nové úložiště App Configuration a dozvěděli jste se, jak přistupovat k hodnotám klíčů pomocí poskytovatele JavaScript aplikace Configuration v prostředí Node.js. Pokud chcete zjistit, jak nakonfigurovat aplikaci tak, aby dynamicky aktualizovala nastavení konfigurace, pokračujte dalším kurzem.

Úplný přehled funkcí knihovny zprostředkovatele konfigurace JavaScriptu najdete v následujícím dokumentu.