konfigurációs fájlok Azure App Configuration támogatása
A konfigurációs adatok tárolásának egyik leggyakoribb módja a fájlok használata. A gyors kezdés érdekében App Configuration olyan eszközökkel rendelkezik, amelyekkel importálhatja a konfigurációs fájlokat, így nem kell manuálisan beírnia az adatokat. Ez a művelet egyszeri adatmigrálás, ha az importálás után App Configuration tervezi az adatok kezelését. Bizonyos egyéb esetekben, például ha kódként konfigurálja a konfigurációt, folytathatja a konfigurációs adatok fájlokban való kezelését és importálását a CI-/CD-folyamat részeként. Az alábbi két forgatókönyv közül az egyik vonatkozhat Önre:
- A konfigurációs fájlt a korábbi formátumban kell tartania. Ez a formátum akkor hasznos, ha a fájlt tartalék konfigurációként szeretné használni az alkalmazáshoz vagy a helyi konfigurációhoz a fejlesztés során. A konfigurációs fájl importálásakor adja meg, hogyan alakítsa át az adatokat App Configuration kulcsértékekké. Ez a beállítás az alapértelmezett fájltartalom-profil App Configuration importáló eszközökben, például a portálon, az Azure CLI-ben, az Azure Pipeline Push-feladatban, GitHub Actions stb.
- A konfigurációs fájlt az összes App Configuration kulcs-érték tulajdonságot tartalmazó formátumban kell tartania. A fájl importálásakor nem kell átalakítási szabályokat megadnia, mert egy kulcs-érték összes tulajdonsága már szerepel a fájlban. Ezt a beállítást KVSet fájltartalomprofilnak nevezzük App Configuration importáló eszközökben. Hasznos lehet, ha egy fájlban szeretné kezelni az összes App Configuration adatot, beleértve a normál kulcsértékeket, a Key Vault hivatkozásokat és a funkciójelölőket, és egyetlen lövéssel importálja őket.
A dokumentum többi része részletesen ismerteti a fájltartalom-profilokat, és az Azure CLI-t használja példaként. Ugyanez a fogalom vonatkozik más App Configuration importálási eszközökre is.
Fájltartalom-profil: alapértelmezett
Az App Configuration eszközök alapértelmezett fájltartalomprofilja a meglévő programozási keretrendszerek vagy rendszerek által széles körben elfogadott hagyományos konfigurációs fájlsémára utal. App Configuration támogatja a JSON-, Yaml- vagy Properties-fájlformátumokat.
Az alábbi példa egy nevű appsettings.json
konfigurációs fájl, amely egy konfigurációs beállítást és egy funkciójelölőt tartalmaz.
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"FeatureManagement": {
"Beta": false
}
}
Futtassa a következő parancssori felületi parancsot, hogy importálja a dev
címkével App Configuration, és a kettőspontot (:
) használja elválasztóként a kulcsnév összesimításához. Igény szerint hozzáadhatja a "--profile appconfig/default" paramétert. A példa kihagyja, mivel ez az alapértelmezett érték.
az appconfig kv import --label dev --separator : --name <your store name> --source file --path appsettings.json --format json
Key Vault hivatkozásoknak az importálás során egy adott tartalomtípusra van szükségük, ezért ezeket külön fájlban kell megőrizni. Az alábbi példa egy nevű keyvault-refs.json
fájl.
{
"Database:ConnectionString": {
"uri": "https://<your-vault-name>.vault.azure.net/secrets/db-secret"
}
}
A következő CLI-parancs futtatásával importálhatja a címkével és a test
Key Vault hivatkozási tartalomtípussal.
az appconfig kv import --label test --content-type "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8" --name <your store name> --source file --path keyvault-refs.json --format json
Az alábbi táblázat az App Configuration tárolóba importált összes adatot megjeleníti.
Kulcs | Érték | Címke | Tartalomtípus |
---|---|---|---|
.appconfig.featureflag/Beta | {"id":"Béta","description":"","enabled":false,"conditions":{"client_filters":[]}} | Dev | application/vnd.microsoft.appconfig.ff+json;charset=utf-8 |
Naplózás:LogLevel:Alapértelmezett | Figyelmeztetés | Dev | |
Adatbázis:ConnectionString | {"uri":"https://< your-vault-name.vault.azure.net/secrets/db-secret>"} | test | application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8 |
Fájltartalom-profil: KVSet
A KVSet fájltartalomprofilja App Configuration eszközökben olyan fájlséma, amely egy App Configuration kulcs-érték összes tulajdonságát tartalmazza, beleértve a kulcsot, az értéket, a címkét, a tartalomtípust és a címkéket. A fájl JSON formátumú. A sémaspecifikációt lásd: KVSet fájlséma .
Az alábbi példa egy, a nevű KVSet-fájltartalomprofilon alapuló fájl, appconfigdata.json
amely tartalmaz egy funkciójelölőt, egy Key Vault hivatkozást és egy normál kulcsértéket.
{
"items": [
{
"key": ".appconfig.featureflag/Beta",
"value": "{\"id\":\"Beta\",\"description\":\"Beta feature\",\"enabled\":true,\"conditions\":{\"client_filters\":[]}}",
"label": "dev",
"content_type": "application/vnd.microsoft.appconfig.ff+json;charset=utf-8",
"tags": {}
},
{
"key": "Database:ConnectionString",
"value": "{\"uri\":\"https://<your-vault-name>.vault.azure.net/secrets/db-secret\"}",
"label": "test",
"content_type": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"tags": {}
},
{
"key": "Logging:LogLevel:Default",
"value": "Debug",
"label": "dev",
"content_type": null,
"tags": {}
}
]
}
Tipp
Ha követte az előző szakaszban szereplő példát, és az adatok a App Configuration tárolóban vannak, exportálhatja őket egy fájlba a CLI-paranccsal:
az appconfig kv export --profile appconfig/kvset --label * --name <your store name> --destination file --path appconfigdata.json --format json
A fájl exportálása után frissítse a Beta
funkciójelölő enabled
tulajdonságát értékretrue
, és módosítsa a értékreDebug
.Logging:LogLevel:Default
Futtassa a következő parancssori felületi parancsot a "--profile appconfig/kvset" paraméterrel a fájl App Configuration tárolóba való importálásához. Nem kell olyan adatátalakítási szabályokat megadnia, mint az elválasztó, a címke vagy a tartalomtípus, mint az alapértelmezett fájltartalomprofil szakaszban, mert minden információ már szerepel a fájlban.
az appconfig kv import --profile appconfig/kvset --name <your store name> --source file --path appconfigdata.json --format json
Megjegyzés
A KVSet-fájl tartalomprofilja jelenleg támogatott a következőben:
- Az Azure CLI 2.30.0-s vagy újabb verziója
- Azure App Configuration leküldéses feladat 3.3.0-s vagy újabb verziója
Az alábbi táblázat az App Configuration tárolóba importált összes adatot megjeleníti.
Kulcs | Érték | Címke | Tartalomtípus |
---|---|---|---|
.appconfig.featureflag/Beta | {"id":"Beta","description":"Beta feature","enabled":true,"conditions":{"client_filters":[]}} | Dev | application/vnd.microsoft.appconfig.ff+json;charset=utf-8 |
Naplózás:LogLevel:Alapértelmezett | Debug | Dev | |
Adatbázis:ConnectionString | {"uri":"https://< your-vault-name.vault.azure.net/secrets/db-secret>"} | test | application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8 |