Azure-alkalmazás konfigurációs fájlok konfigurációs támogatása
A konfigurációs adatok tárolásának egyik leggyakoribb módja a fájlok használata. A gyors kezdéshez az 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ást követően az adatokat az Alkalmazáskonfigurációban szeretné kezelni. Bizonyos más esetekben, például amikor kódként konfigurálja a konfigurációt, továbbra is kezelheti a konfigurációs adatokat a fájlokban, és ismétlődően importálhatja őket a CI-/CD-folyamat részeként. Az alábbi két forgatókönyv közül az egyik vonatkozik Önre:
- A konfigurációs fájlt a korábban megadott formátumban kell tárolnia. 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, hogy az adatok hogyan alakíthatók át alkalmazáskonfigurációs kulcsértékekké. Ez a beállítás az alkalmazáskonfiguráció alapértelmezett fájltartalom-profilja , például a portál, az Azure CLI, az Azure Pipeline Push-feladat, a GitHub Actions stb.
- A konfigurációs fájlt az alkalmazáskonfiguráció összes kulcs-érték tulajdonságát tartalmazó formátumban tárolja. A fájl importálásakor nem kell átalakítási szabályokat megadnia, mert egy kulcs-érték minden tulajdonsága már szerepel a fájlban. Ezt a beállítást KVSet fájltartalomprofilnak nevezzük az Alkalmazáskonfiguráció importáló eszközeiben. Hasznos lehet, ha egy fájlban szeretné kezelni az alkalmazáskonfiguráció összes adatát, beleértve a normál kulcsértékeket, a Key Vault-hivatkozásokat és a funkciójelzőket, és egyetlen lövéssel importálni őket.
A dokumentum többi része részletesen ismerteti a fájltartalom-profilokat, és példaként az Azure CLI-t használja. Ugyanez a fogalom vonatkozik más alkalmazáskonfigurációs importáló eszközökre is.
Fájltartalom-profil: alapértelmezett
Az alkalmazáskonfigurációs 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éma. Az alkalmazáskonfiguráció támogatja a JSON, Yaml vagy Properties fájlformátumokat.
Az alábbi példa egy konfigurációs beállítást és egy funkciójelölőt tartalmazó konfigurációs fájl appsettings.json
.
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"FeatureManagement": {
"Beta": false
}
}
Futtassa a következő CLI-parancsot, hogy a címkével együtt importálja azt az dev
Alkalmazáskonfigurációba, és a kettőspontot (:
) elválasztóként használva simíthatja el a kulcs nevét. 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
A Key Vault-referenciák importáláskor egy adott tartalomtípust igényelnek, ezért ezeket külön fájlban tárolhatja. Az alábbi példa egy fájl neve keyvault-refs.json
.
{
"Database:ConnectionString": {
"uri": "https://<your-vault-name>.vault.azure.net/secrets/db-secret"
}
}
A következő CLI-parancs futtatásával importálhatja a test
címkével és a Key Vault hivatkozási tartalomtípusával.
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 alkalmazáskonfigurációs áruházban importált összes importált adatot mutatja be.
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:Csatlakozás ionString | {"uri":"https://< your-vault-name.vault.azure.net/secrets/db-secret>"} | teszt | application/vnd.microsoft.appconfig.keyvaultref+json; charset=utf-8 |
Fájltartalom-profil: KVSet
Az Alkalmazáskonfigurációs eszközök KVSet fájltartalomprofilja egy olyan fájlséma, amely az alkalmazáskonfigurációs kulcs értékének ö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átumban van. A sémaspecifikációhoz lásd a KVSet fájlsémát .
Az alábbi példa egy KVSet fájltartalom-profilon alapuló fájl, amely appconfigdata.json
egy funkciójelölőt, egy Key Vault-hivatkozást és egy normál kulcsértéket tartalmaz.
{
"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 alkalmazáskonfigurációs áruházban tárolt adatokkal rendelkezik, exportálhatja azokat 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ójelzőenabled
tulajdonságot a következőretrue
, és módosítsa aLogging:LogLevel:Default
következőreDebug
: .
Futtassa a következő PARANCSSOR-parancsot a "--profile appconfig/kvset" paraméterrel a fájl alkalmazáskonfigurációs áruházba 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
Feljegyzé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-alkalmazás konfigurációs leküldéses feladat 3.3.0-s vagy újabb verziója
Az alábbi táblázat az alkalmazáskonfigurációs áruházban importált összes importált adatot mutatja be.
Kulcs | Érték | Címke | Tartalomtípus |
---|---|---|---|
.appconfig.featureflag/Beta | {"id":"Béta","description":"Béta funkció","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:Csatlakozás ionString | {"uri":"https://< your-vault-name.vault.azure.net/secrets/db-secret>"} | teszt | application/vnd.microsoft.appconfig.keyvaultref+json; charset=utf-8 |