Megosztás a következőn keresztül:


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.jsonegy 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őre true , és módosítsa a Logging:LogLevel:Default következőre Debug: .

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

Következő lépések