podpora konfigurace Aplikace Azure konfiguračních souborů

Soubory jsou jedním z nejběžnějších způsobů ukládání konfiguračních dat. Aby vám služba App Configuration pomohla rychle začít, obsahuje nástroje, které vám pomůžou při importu konfiguračních souborů, takže data nemusíte zadávat ručně. Tato operace je jednorázová migrace dat, pokud plánujete spravovat data v App Configuration po jejich importu. V některých jiných případech, například když přijmete konfiguraci jako kód, můžete pokračovat ve správě konfiguračních dat v souborech a importovat je jako součást procesu CI/CD opakovaně. Můžete najít jeden z těchto dvou scénářů:

  • Konfigurační soubor ponecháte ve formátu, který jste předtím měli. Tento formát je užitečný, pokud chcete soubor použít jako záložní konfiguraci pro vaši aplikaci nebo místní konfiguraci během vývoje. Při importu konfiguračního souboru určete, jak chcete data transformovat na hodnoty klíče konfigurace aplikace. Tato možnost je výchozím profilem obsahu souboru v nástrojích pro import služby App Configuration, jako jsou portál, Azure CLI, úloha Nabízená oznámení kanálu Azure, GitHub Actions atd.
  • Konfigurační soubor zůstane ve formátu, který obsahuje všechny vlastnosti klíč-hodnota konfigurace aplikace. Při importu souboru nemusíte zadávat žádná pravidla transformace, protože všechny vlastnosti klíče-hodnota už jsou v souboru. Tato možnost se nazývá profil obsahu souboru KVSet v nástrojích pro import konfigurace aplikací. Je užitečné, pokud chcete spravovat všechna data konfigurace aplikací, včetně běžných hodnot klíčů, odkazů na key Vault a příznaků funkcí, v jednom souboru a importovat je na jeden snímek.

Zbytek tohoto dokumentu podrobně probere profily obsahu souborů a jako příklad použije Azure CLI. Stejný koncept platí i pro další nástroje pro import app Configuration.

Profil obsahu souboru: výchozí

Výchozí profil obsahu souboru v nástrojích App Configuration odkazuje na konvenční schéma konfiguračních souborů široce přijímané stávajícími programovacími architekturami nebo systémy. App Configuration podporuje formáty souborů JSON, Yaml nebo Properties.

Následující příklad je konfigurační soubor s názvem appsettings.json obsahujícím jedno nastavení konfigurace a jeden příznak funkce.

{
    "Logging": {
        "LogLevel": {
            "Default": "Warning"
        }
    },
    "FeatureManagement": {
        "Beta": false
    }
}

Spuštěním následujícího příkazu rozhraní příkazového řádku ho naimportujte do konfigurace aplikace s dev popiskem a pomocí dvojtečky (:) jako oddělovače zploštějte název klíče. Volitelně můžete přidat parametr --profile appconfig/default. V příkladu se přeskočí, protože se jedná o výchozí hodnotu.

az appconfig kv import --label dev --separator : --name <your store name> --source file --path appsettings.json --format json

Odkazy služby Key Vault vyžadují během importu určitý typ obsahu, takže je uchováváte v samostatném souboru. Následující příklad je soubor s názvem keyvault-refs.json.

{
    "Database:ConnectionString": {
        "uri": "https://<your-vault-name>.vault.azure.net/secrets/db-secret"
    }  
}

Spuštěním následujícího příkazu rozhraní příkazového řádku ho naimportujte s test popiskem a typem referenčního obsahu služby Key Vault.

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

Následující tabulka obsahuje všechna importovaná data v obchodě App Configuration Store.

Key Hodnota Popisek Typ obsahu
.appconfig.featureflag/Beta {"id":"Beta","description":","enabled":false,"conditions":{"client_filters":[]}} Dev application/vnd.microsoft.appconfig.ff+json; charset=utf-8
Protokolování:LogLevel:Default Upozorňující Dev
Database:Připojení ionString {"uri":"https://< your-vault-name.vault.azure.net/secrets/db-secret>"} test application/vnd.microsoft.appconfig.keyvaultref+json; charset=utf-8

Profil obsahu souboru: KVSet

Profil obsahu souboru KVSet v nástrojích App Configuration odkazuje na schéma souboru, které obsahuje všechny vlastnosti hodnoty klíče konfigurace aplikace, včetně klíče, hodnoty, popisku, typu obsahu a značek. Soubor je ve formátu JSON. Viz schéma souboru KVSet pro specifikaci schématu.

Následující příklad je soubor založený na profilu obsahu souboru KVSet s názvem appconfigdata.json, který obsahuje příznak funkce, odkaz služby Key Vault a běžnou hodnotu klíče.

{
  "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": {}
    }
  ]
}

Tip

Pokud jste postupovali podle příkladu v předchozí části a máte data ve službě App Configuration Store, můžete je exportovat do souboru pomocí příkazu rozhraní příkazového řádku:

az appconfig kv export --profile appconfig/kvset --label * --name <your store name> --destination file --path appconfigdata.json --format json 

Po exportu souboru aktualizujte vlastnost příznaku Beta enabled funkce na true a změňte na Logging:LogLevel:Default Debug.

Spuštěním následujícího příkazu rozhraní příkazového řádku s parametrem --profile appconfig/kvset naimportujte soubor do obchodu App Configuration. Nemusíte zadávat žádná pravidla transformace dat, jako je oddělovač, popisek nebo typ obsahu, jako jste to udělali v oddílu výchozího profilu obsahu souboru, protože všechny informace už jsou v souboru.

az appconfig kv import --profile appconfig/kvset --name <your store name> --source file --path appconfigdata.json --format json

Poznámka:

Profil obsahu souboru KVSet se v současné době podporuje v

Následující tabulka obsahuje všechna importovaná data v obchodě App Configuration Store.

Key Hodnota Popisek Typ obsahu
.appconfig.featureflag/Beta {"id":"Beta","description":"Beta funkce","enabled":true,"conditions":{"client_filters":[]}} Dev application/vnd.microsoft.appconfig.ff+json; charset=utf-8
Protokolování:LogLevel:Default Debug Dev
Database:Připojení ionString {"uri":"https://< your-vault-name.vault.azure.net/secrets/db-secret>"} test application/vnd.microsoft.appconfig.keyvaultref+json; charset=utf-8

Další kroky