Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben az oktatóanyagban megtudhatja, hogyan engedélyezheti a dinamikus konfigurációt JavaScript-alkalmazásaiban. Az oktatóanyagban szereplő példa a JavaScript rövid útmutatójában bemutatott mintaalkalmazásra épül. A folytatás előtt fejezze be a JavaScript-alkalmazás létrehozását Azure-alkalmazás Konfigurációval.
Előfeltételek
- Fejezze be a JavaScript-alkalmazás létrehozása Azure-alkalmazás konfigurációval című rövid útmutatót.
- Frissítse a csomagot a
@azure/app-configuration-provider2.0.0-s vagy újabb verzióra.
Kulcsértékek hozzáadása
Adja hozzá a következő kulcsértéket a Azure-alkalmazás Konfigurációs tárhoz. 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 | Címke | Tartalomtípus |
|---|---|---|---|
| üzenet | „Helló világ!” alkalmazás! | Hagyja üresen | Hagyja üresen |
Konzolalkalmazások
Az alábbi példák bemutatják, hogyan használhatók a frissíthető konfigurációs értékek a konzolalkalmazásokban.
Válassza ki az alábbi utasításokat annak alapján, hogy az alkalmazás hogyan használja fel az Alkalmazáskonfigurációból betöltött konfigurációs adatokat, akár konfigurációs objektumként Map , akár konfigurációs objektumként.
Adatok betöltése az alkalmazáskonfigurációból
Az alkalmazáskonfigurációhoz Microsoft Entra-azonosító (ajánlott) vagy kapcsolati sztring használatával csatlakozhat. Az alábbi kódrészlet a Microsoft Entra ID használatát mutatja be. A DefaultAzureCredential használatával hitelesítheti magát az Alkalmazáskonfigurációs áruházban. Az előfeltételekben felsorolt rövid útmutató elvégzése közben már hozzárendelte a hitelesítő adatait az alkalmazáskonfigurációs adatolvasó szerepkörhöz.
Nyissa meg a fájlt app.js , és frissítse a függvényt
load. Adjon hozzá egy paramétertrefreshOptionsa frissítés engedélyezéséhez és a frissítési beállítások konfigurálásához. A betöltött konfiguráció frissül, ha a rendszer módosítást észlel a kiszolgálón. Alapértelmezés szerint 30 másodperces frissítési időközt használ, de felülbírálhatja arefreshIntervalInMstulajdonsággal.// Connecting to Azure App Configuration using endpoint and token credential const appConfig = await load(endpoint, credential, { // Enabling the dynamic refresh refreshOptions: { enabled: true } });Feljegyzés
Ha a következő hibaüzenet jelenik meg: "A frissítés engedélyezve van, de nincs megadva megtekintési beállítás", frissítse a csomagot a
@azure/app-configuration-provider2.0.0-s vagy újabb verzióra.Jótanács
A konfigurációváltozások figyelésével kapcsolatos további információkért tekintse meg a konfigurációfrissítés ajánlott eljárásait.
A beállítás
refreshOptionsönmagában nem frissíti automatikusan a konfigurációt. A frissítés indításához meg kell hívnia arefreshmetódust. Ez a kialakítás megakadályozza az alkalmazáskonfigurációra irányuló szükségtelen kéréseket, ha az alkalmazás tétlen. Adja meg azt a hívást,refreshamelyben az alkalmazástevékenység történik. Ezt tevékenységalapú konfigurációfrissítésnek nevezzük. Meghívhatrefreshpéldául egy bejövő üzenet vagy rendelés feldolgozásakor, vagy egy olyan iterációban, ahol összetett feladatot hajt végre. Másik lehetőségként időzítőt is használhat, ha az alkalmazás mindig aktív. Ebben a példábanrefreshegy ciklusban hívjuk meg bemutató célokra. Még akkor is, ha arefreshhívás bármilyen okból meghiúsul, az alkalmazás továbbra is a gyorsítótárazott konfigurációt fogja használni. Egy másik kísérlet akkor történik, amikor a konfigurált frissítési időköz lejárt, és arefreshhívást az alkalmazástevékenység aktiválja. A hívásrefreshnem működik, mielőtt a konfigurált frissítési időköz eltelik, így a teljesítményre gyakorolt hatása minimális, még akkor is, ha gyakran hívják.Adja hozzá a következő kódot a figyelt kulcsértékek konfigurációs változásainak lekérdezéséhez.
// Polling for configuration changes every 5 seconds while (true) { console.log(appConfig.get("message")); // Consume current value of message from a Map appConfig.refresh(); // Refreshing the configuration setting asynchronously await sleepInMs(5000); // Waiting before the next refresh }Most a fájl app.js a következő kódrészlethez hasonlóan kell kinéznie:
const sleepInMs = require("util").promisify(setTimeout); 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() { // Connecting to Azure App Configuration using endpoint and token credential const appConfig = await load(endpoint, credential, { // Enabling the dynamic refresh refreshOptions: { enabled: true } }); // Polling for configuration changes every 5 seconds while (true) { console.log(appConfig.get("message")); // Consume current value of message from a Map appConfig.refresh(); // Refreshing the configuration setting asynchronously await sleepInMs(5000); // Waiting before the next refresh } } run().catch(console.error);
Az alkalmazás futtatása
Futtassa a szkriptet:
node app.jsKimenet ellenőrzése:
Hello World!Továbbra is 5 másodpercenként nyomtatja a "„Helló világ!” alkalmazás!" szöveget egy új sorban.
Frissítse a következő kulcsértékeket a Azure-alkalmazás Konfigurációs tárra. A kulcs
messagefrissítési értéke.Kulcs Érték Címke Tartalomtípus üzenet „Helló világ!” alkalmazás - Frissítve! Hagyja üresen Hagyja üresen Az értékek frissítése után a frissített érték a frissítési időköz után lesz kinyomtatva.
Hello World - Updated!
Kiszolgálóalkalmazás
Az alábbi példa bemutatja, hogyan frissíthet egy meglévő HTTP-kiszolgálót frissíthető konfigurációs értékek használatára.
Hozzon létre egy új JavaScript-fájlt,
server.jsés adja hozzá a következő kódot:const http = require('http'); function startServer() { const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end("Hello World!"); }); const hostname = "localhost"; const port = 3000; server.listen(port, hostname, () => { console.log(`Server running at http://localhost:${port}/`); }); } startServer();Futtassa a szkriptet:
node server.jsLátogasson el
http://localhost:3000, és látni fogja a választ:
Adatok betöltése az alkalmazáskonfigurációból
Frissítse az
server.jsalkalmazáskonfiguráció használatát, és engedélyezze a dinamikus frissítést:const http = require("http"); 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 let appConfig; async function initializeConfig() { appConfig = await load(endpoint, credential, { refreshOptions: { enabled: true, refreshIntervalInMs: 15_000 // set the refresh interval } }); } function startServer() { const server = http.createServer((req, res) => { // refresh the configuration asynchronously when there is any incoming request appConfig.refresh(); res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end(appConfig.get("message")); }); const hostname = "localhost"; const port = 3000; server.listen(port, hostname, () => { console.log(`Server running at http://localhost:${port}/`); }); } // Initialize the configuration and then start the server initializeConfig() .then(() => startServer());
Kérelemalapú konfigurációfrissítés
A legtöbb esetben az alkalmazáskonfiguráció-szolgáltató frissítési művelete nem műveletként kezelhető. A rendszer csak akkor küld kéréseket az alkalmazáskonfiguráció értékének ellenőrzésére, ha a megadott frissítési időköz lejárt.
Javasoljuk, hogy a webalkalmazás kérésalapú konfigurációs frissítését implementálja. A konfiguráció frissítését a webalkalmazáshoz érkező bejövő kérések aktiválják. Nem történik frissítés, ha az alkalmazás tétlen, ha nincs bejövő kérés. Ha az alkalmazás aktív, használhat köztes szoftvereket vagy hasonló mechanizmusokat, hogy elindítsa a hívást az appConfig.refresh() alkalmazáshoz érkező minden bejövő kéréskor.
Ha az alkalmazáskonfiguráció kérése sikertelen a változásészleléshez, az alkalmazás továbbra is a gyorsítótárazott konfigurációt fogja használni. A módosítások ellenőrzésére tett új kísérletek rendszeres időközönként történnek, miközben új bejövő kérések érkeznek az alkalmazáshoz.
A konfigurációfrissítés aszinkron módon történik az alkalmazás bejövő kéréseinek feldolgozása során. Nem blokkolja vagy lassítja a frissítést kiváltó bejövő kérést. Előfordulhat, hogy a frissítést kiváltó kérés nem kapja meg a frissített konfigurációs értékeket, de a későbbi kérések új konfigurációs értékeket kapnak.
Az alkalmazás futtatása
Indítsa újra a HTTP-kiszolgálót:
node server.jsKeresse fel
http://localhost:3000és ellenőrizze az appkonfigurációs áruház kulcsának válaszátmessage.
Frissítse a következő kulcsértékeket a Azure-alkalmazás Konfigurációs tárra. A kulcs
messagefrissítési értéke.Kulcs Érték Címke Tartalomtípus üzenet „Helló világ!” alkalmazás - Frissítve! Hagyja üresen Hagyja üresen Körülbelül 15 másodperc elteltével frissítse többször a lapot, és az üzenetet frissítenie kell.
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 az oktatóanyagban engedélyezte, hogy a JavaScript-alkalmazás dinamikusan frissítse a konfigurációs beállításokat Azure-alkalmazás Konfigurációból. Ha szeretné megtudni, hogyan használhat azure-beli felügyelt identitást a Azure-alkalmazás konfigurációjához való hozzáférés egyszerűsítéséhez, folytassa a következő oktatóanyagban.
A JavaScript konfigurációszolgáltatói kódtár teljes funkciólefutásához folytassa a következő dokumentumokkal.