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
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre egyet ingyen.
- Alkalmazáskonfigurációs áruház. Hozzon létre egy áruházat.
- A Node.js LTS-verziói. A Node.js közvetlenül a Windows rendszeren vagy a Linuxos Windows-alrendszer (WSL) használatával történő telepítésével kapcsolatos információkért lásd: Első lépések a Node.js
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.
Hozzon létre egy új könyvtárat az app-configuration-quickstart nevű projekthez.
mkdir app-configuration-quickstart
Váltson az újonnan létrehozott app-configuration-quickstart könyvtárra .
cd app-configuration-quickstart
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 trimKeyPrefixes
tö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
Á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>"
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%
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.
- Jelentkezzen be az Azure Portalra, és válassza ki az Erőforráscsoportokat.
- A Szűrés név szerint mezőbe írja be az erőforráscsoport nevét.
- Az eredménylistában válassza ki az erőforráscsoport nevét az áttekintés megtekintéséhez.
- Válassza az Erőforráscsoport törlése elemet.
- 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: