Megosztás a következőn keresztül:


Rövid útmutató: Node.js konzolalkalmazás létrehozása Azure-alkalmazás Konfigurációval

Ebben a gyorsindításban az Azure App Configuration segítségével központosíthatja az alkalmazásbeállítások tárolását és kezelését az Azure App Configuration JavaScript-szolgáltató ügyfélkódtárával.

A JavaScript alkalmazáskonfigurációs szolgáltatója az Azure SDK for JavaScriptre épül, és úgy lett kialakítva, hogy könnyebben használható legyen a gazdagabb funkciókkal. Lehetővé teszi a kulcsértékek elérését az Alkalmazáskonfigurációban objektumként Map . Olyan funkciókat kínál, mint a több címke konfigurációjának összeállítása, a kulcselőtagok vágása, a Key Vault-hivatkozások automatikus feloldása és még sok más. Ez az oktatóanyag például bemutatja, hogyan használhatja a JavaScript-szolgáltatót egy Node.js alkalmazásban.

Előfeltételek

Kulcsértékek hozzáadása

Adja hozzá a következő kulcsértékeket az Alkalmazáskonfigurációs áruházhoz. Ha többet szeretne tudni arról, hogyan adhat hozzá kulcsértékeket egy áruházhoz az Azure Portal vagy a parancssori felület használatával, lépjen a Kulcs-érték létrehozása elemre.

Kulcs Érték Tartalomtípus
üzenet Üzenet Azure-alkalmazás konfigurációjából Hagyja üresen
app.greeting Helló világ Hagyja üresen
app.json {"myKey":"myValue"} alkalmazás/json

Node.js konzolalkalmazás létrehozása

Ebben az oktatóanyagban létrehoz egy Node.js konzolalkalmazást, és betölti az adatokat az Alkalmazáskonfigurációs áruházból.

  1. Hozzon létre egy új könyvtárat az app-configuration-quickstart nevű projekthez.

    mkdir app-configuration-quickstart
    
  2. Váltson az újonnan létrehozott app-configuration-quickstart könyvtárra .

    cd app-configuration-quickstart
    
  3. Telepítse a Azure-alkalmazás konfigurációszolgáltatót a npm install parancs használatával.

    npm install @azure/app-configuration-provider
    

Csatlakozás alkalmazáskonfigurációs áruházhoz

Az alábbi példák bemutatják, hogyan kérhetők le konfigurációs adatok Azure-alkalmazás Konfigurációból, és hogyan használhatják fel azokat az alkalmazásban. Alapértelmezés szerint a kulcsértékek objektumként Map töltődnek be, így az egyes kulcsértékeket a teljes kulcsnév használatával érheti el. Ha azonban az alkalmazás konfigurációs objektumokat használ, használhatja azt a constructConfigurationObject segéd API-t, amely létrehoz egy konfigurációs objektumot a Azure-alkalmazás Konfigurációból betöltött kulcsértékek alapján.

Hozzon létre egy app.js nevű fájlt az app-configuration-quickstart könyvtárban, és másolja a kódot az egyes mintákból.

1. minta: Kulcsértékek betöltése alapértelmezett választóval

Ebben a példában speciális beállítások megadása nélkül csatlakozhat Azure-alkalmazás konfigurációhoz, és betöltheti a kulcsértékeket. Alapértelmezés szerint az összes kulcsértéket címke nélkül tölti be. Az App Configuration szolgáltatáshoz a Microsoft Entra ID (ajánlott) vagy egy csatlakozási karakterlánc használatával csatlakozhat.

A DefaultAzureCredential segítségével hitelesíti magát az alkalmazáskonfigurációs tárolóban. Kövesse az utasításokat , hogy a hitelesítő adatokhoz hozzárendelje az alkalmazáskonfigurációs adatolvasói szerepkört. Győződjön meg arról, hogy elegendő időt hagy az engedély propagálására az alkalmazás futtatása előtt.

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);

2. minta: Adott kulcsértékek betöltése választókkal

Ebben a mintában a kulcsértékek egy részhalmazát tölti be a selectors beállítás megadásával. Csak az "alkalmazás" kezdetű kulcsok töltődnek be. Vegye figyelembe, hogy igény szerint több választót is megadhat, amelyek mindegyike rendelkezik a keyFilter és labelFilter tulajdonságokkal.

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);

3. minta: Kulcsértékek betöltése és előtag vágása a kulcsokból

Ebben a mintában a kulcsértékeket egy beállítással trimKeyPrefixestöltheti be. A kulcsértékek betöltése után az "alkalmazás" előtag minden kulcsból ki lesz vágva. Ez akkor hasznos, ha az alkalmazásra jellemző konfigurációkat egy adott kulcselőtagra való szűréssel szeretné betölteni, de nem szeretné, hogy a kód minden alkalommal hordozhassa az előtagot, amikor hozzáfér a konfigurációhoz.

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()

Az alkalmazás futtatása

  1. Adja meg a környezeti változót.

    Állítsa a AZURE_APPCONFIG_ENDPOINT nevű környezeti változót az Alkalmazáskonfigurációs áruház végpontjára, amely az Azure Portalon található áruház áttekintésében található.

    Ha a Windows parancssorát használja, futtassa a következő parancsot, és indítsa újra a parancssort a módosítás érvénybe lépésének engedélyezéséhez:

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

    Ha a PowerShellt használja, futtassa a következő parancsot:

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

    MacOS vagy Linux használata esetén futtassa a következő parancsot:

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. A környezeti változó megfelelő beállítása után futtassa a következő parancsot az alkalmazás helyi futtatásához:

    node app.js
    

    Minden minta esetében a következő kimenetnek kell megjelennie:

    Minta 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' }
    

    Minta 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' }
    

    Minta 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' }
    

Az erőforrások megtisztítása

Ha nem szeretné folytatni a cikkben létrehozott erőforrások használatát, törölje az itt létrehozott erőforráscsoportot a díjak elkerülése érdekében.

Fontos

Az erőforráscsoport törlése nem vonható vissza. Az erőforráscsoport és a benne lévő összes erőforrás véglegesen törlődik. Győződjön meg arról, hogy nem véletlenül törli a rossz erőforráscsoportot vagy erőforrásokat. Ha a cikk erőforrásait olyan erőforráscsoporton belül hozta létre, amely más megtartani kívánt erőforrásokat tartalmaz, törölje az egyes erőforrásokat a megfelelő panelről az erőforráscsoport törlése helyett.

  1. Jelentkezzen be az Azure Portalra, és válassza ki az Erőforráscsoportokat.
  2. A Szűrés név szerint mezőbe írja be az erőforráscsoport nevét.
  3. Az eredménylistában válassza ki az erőforráscsoport nevét az áttekintés megtekintéséhez.
  4. Válassza az Erőforráscsoport törlése elemet.
  5. A rendszer az erőforráscsoport törlésének megerősítését kéri. Adja meg a megerősítéshez az erőforráscsoport nevét, és válassza a Törlés lehetőséget.

Néhány pillanat múlva az erőforráscsoport és annak összes erőforrása törlődik.

Következő lépések

Ebben a rövid útmutatóban létrehozott egy új Alkalmazáskonfigurációs áruházat, és megtanulta, hogyan érheti el a kulcsértékeket az alkalmazáskonfiguráció JavaScript-szolgáltatójával egy Node.js-alkalmazásban. Ha szeretné megtudni, hogyan konfigurálhatja az alkalmazást a konfigurációs beállítások dinamikus frissítésére, folytassa a következő oktatóanyagban.

A JavaScript konfigurációszolgáltató könyvtár teljes funkcióinak áttekintéséhez lapozzon a következő dokumentumhoz.