Rövid útmutató: JavaScript-alkalmazás létrehozása Azure-alkalmazás konfigurációval

Ebben a rövid útmutatóban a Azure-alkalmazás Configuration használatával központosíthatja az alkalmazásbeállítások tárolását és kezelését a Azure-alkalmazás 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 Hello World 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ázba

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 Azure-alkalmazás konfigurációhoz csatlakozik egy kapcsolati sztring és betölti a kulcsértékeket anélkül, hogy speciális beállításokat ad meg. Alapértelmezés szerint az összes kulcsértéket címke nélkül tölti be.

const { load } = require("@azure/app-configuration-provider");
const connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING;

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

    // Connect to Azure App Configuration using a connection string and load all key-values with null label.
    const settings = await load(connectionString);

    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 és labelFilter tulajdonságokkal rendelkezikkeyFilter.

const { load } = require("@azure/app-configuration-provider");
const connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING;

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(connectionString, {
        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.greeting);   // config.app.greeting: Hello World
    console.log("config.app.json:", config.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 connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING;

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(connectionString, {
        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().catch(console.error);

Az alkalmazás futtatása

  1. Állítson be egy AZURE_APPCONFIG_CONNECTION_STRING nevű környezeti változót, és állítsa be az Alkalmazáskonfigurációs áruház kapcsolati sztring. Futtassa a következő parancsot a parancssorban:

    Ha helyileg szeretné futtatni az alkalmazást a Windows parancssorával, futtassa a következő parancsot, és cserélje le <app-configuration-store-connection-string> az alkalmazáskonfigurációs áruház kapcsolati sztring:

    setx AZURE_APPCONFIG_CONNECTION_STRING "<app-configuration-store-connection-string>"
    
  2. Nyomtassa ki a környezeti változó értékét annak ellenőrzéséhez, hogy megfelelően van-e beállítva az alábbi paranccsal.

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

    echo %AZURE_APPCONFIG_CONNECTION_STRING%
    
  3. 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:

    1. minta

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

    2. minta

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

    3. minta

    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 eltávolí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.

További kódmintákért látogasson el a következőre: