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.jsonfá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.jsonamely 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 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

Következő lépések