Delen via


Azure-app configuratieondersteuning voor configuratiebestanden

Bestanden zijn een van de meest voorkomende manieren om configuratiegegevens op te slaan. App Configuration biedt hulpprogramma's om u te helpen bij het importeren van uw configuratiebestanden, zodat u uw gegevens niet handmatig hoeft in te voeren. Deze bewerking is een eenmalige gegevensmigratie als u van plan bent om uw gegevens in App Configuration te beheren nadat u ze hebt geïmporteerd. In sommige andere gevallen, bijvoorbeeld wanneer u configuratie als code gebruikt, kunt u uw configuratiegegevens blijven beheren in bestanden en ze importeren als onderdeel van uw CI/CD-proces. Mogelijk is een van deze twee scenario's van toepassing op u:

  • U behoudt het configuratiebestand in de indeling die u eerder had. Deze indeling is handig als u het bestand wilt gebruiken als de terugvalconfiguratie voor uw toepassing of de lokale configuratie tijdens de ontwikkeling. Wanneer u het configuratiebestand importeert, geeft u op hoe u de gegevens wilt transformeren naar sleutelwaarden van App Configuration. Deze optie is het standaardprofiel voor bestandsinhoud in Hulpprogramma's voor het importeren van App Configuration, zoals portal, Azure CLI, Azure Pipeline Push-taak, GitHub Actions, enzovoort.
  • U behoudt het configuratiebestand in de indeling die alle eigenschappen van de sleutelwaarde van App Configuration bevat. Wanneer u het bestand importeert, hoeft u geen transformatieregels op te geven, omdat alle eigenschappen van een sleutelwaarde al in het bestand aanwezig zijn. Deze optie wordt KVSet-bestandsinhoudsprofiel genoemd in hulpprogramma's voor het importeren van App Configuration. Het is handig als u al uw App Configuration-gegevens wilt beheren, inclusief reguliere sleutelwaarden, Key Vault-verwijzingen en functievlagmen, in één bestand en ze in één shot wilt importeren.

In de rest van dit document worden zowel bestandsinhoudsprofielen in detail besproken als gebruik van Azure CLI als voorbeeld. Hetzelfde concept is ook van toepassing op andere hulpprogramma's voor het importeren van App Configuration.

Profiel voor bestandsinhoud: standaard

Het standaardbestandsinhoudsprofiel in App Configuration-hulpprogramma's verwijst naar het conventionele configuratiebestandsschema dat veel wordt gebruikt door bestaande programmeerframeworks of systemen. App Configuration ondersteunt JSON-, Yaml- of Eigenschappen-bestandsindelingen.

Het volgende voorbeeld is een configuratiebestand met appsettings.json één configuratie-instelling en één functievlag.

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

Voer de volgende CLI-opdracht uit om deze te importeren in App Configuration met het dev label en gebruik de dubbele punt (:) als scheidingsteken om de sleutelnaam plat te maken. U kunt eventueel de parameter '--profile appconfig/default' toevoegen. Deze wordt overgeslagen in het voorbeeld omdat dit de standaardwaarde is.

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

Key Vault-verwijzingen vereisen een bepaald inhoudstype tijdens het importeren, zodat u ze in een afzonderlijk bestand bewaart. Het volgende voorbeeld is een bestand met de naam keyvault-refs.json.

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

Voer de volgende CLI-opdracht uit om deze te importeren met het test label en het key vault-verwijzingstype.

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

In de volgende tabel ziet u alle geïmporteerde gegevens in uw App Configuration-archief.

Sleutel Waarde Label Inhoudstype
.appconfig.featureflag/Beta {"id":"Beta","description":"","enabled":false,"conditions":{"client_filters":[]}} Dev application/vnd.microsoft.appconfig.ff+json; charset=utf-8
Logboekregistratie:LogLevel:Default Waarschuwing Dev
Database:Verbinding maken ionString {"uri":"https://< your-vault-name.vault.azure.net/secrets/db-secret>"} test application/vnd.microsoft.appconfig.keyvaultref+json; charset=utf-8

Profiel voor bestandsinhoud: KVSet

Het KVSet-bestandsinhoudsprofiel in App Configuration-hulpprogramma's verwijst naar een bestandsschema dat alle eigenschappen van een App Configuration-sleutelwaarde bevat, inclusief sleutel, waarde, label, inhoudstype en tags. Het bestand heeft de JSON-indeling. Zie het KVSet-bestandsschema voor de schemaspecificatie.

Het volgende voorbeeld is een bestand dat is gebaseerd op het KVSet-bestandsinhoudsprofiel met de naam appconfigdata.json, met een functievlag, een Key Vault-verwijzing en een normale sleutelwaarde.

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

Als u het voorbeeld in de vorige sectie hebt gevolgd en de gegevens in uw App Configuration-archief hebt opgeslagen, kunt u deze exporteren naar een bestand met behulp van de CLI-opdracht:

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

Nadat het bestand is geëxporteerd, werkt u de eigenschap van de Beta functievlag enabled bij in true en wijzigt u de Logging:LogLevel:Default eigenschap in Debug.

Voer de volgende CLI-opdracht uit met de parameter '--profile appconfig/kvset' om het bestand te importeren in uw App Configuration-archief. U hoeft geen regels voor gegevenstransformatie op te geven, zoals scheidingsteken, label of inhoudstype, zoals u hebt gedaan in de sectie standaardbestandsinhoudsprofiel, omdat alle informatie al in het bestand staat.

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

Notitie

Het KVSet-bestandsinhoudsprofiel wordt momenteel ondersteund in

In de volgende tabel ziet u alle geïmporteerde gegevens in uw App Configuration-archief.

Sleutel Waarde Label Inhoudstype
.appconfig.featureflag/Beta {"id":"Beta","description":"Beta feature","enabled":true,"conditions":{"client_filters":[]}} Dev application/vnd.microsoft.appconfig.ff+json; charset=utf-8
Logboekregistratie:LogLevel:Default Fouten opsporen Dev
Database:Verbinding maken ionString {"uri":"https://< your-vault-name.vault.azure.net/secrets/db-secret>"} test application/vnd.microsoft.appconfig.keyvaultref+json; charset=utf-8

Volgende stappen