Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine gängige Möglichkeit zum Speichern von Konfigurationsdaten ist die Verwendung von Dateien. Wenn Sie Die Azure App-Konfiguration verwenden möchten, um Ihre Konfigurationsdaten zu verwalten, Sie aber derzeit Dateien verwenden, müssen Sie Ihre Daten nicht manuell eingeben. Sie können Tools verwenden, um Ihre Konfigurationsdateien zu importieren.
Wenn Sie ihre Daten in der App-Konfiguration verwalten möchten, handelt es sich bei dem Importvorgang um eine einmalige Datenmigration. Eine weitere Möglichkeit besteht darin, ihre Konfigurationsdaten in Dateien weiter zu verwalten und die Dateien im Rahmen Ihrer kontinuierlichen Integration und kontinuierlichen Übermittlung (CI/CD) zu importieren. Dieser Fall tritt auf, wenn Sie die Konfiguration als Code übernehmen.
Zwei Dateiinhaltsprofile sind verfügbar, wenn Sie Konfigurationsdateien verwenden:
- Das Standardmäßige Dateiinhaltsprofil: Das herkömmliche Konfigurationsdateischema
- Das KVSet-Dateiinhaltsprofil: Ein Schema, das alle Eigenschaften des App-Konfigurationsschlüsselwerts enthält
In diesem Artikel werden beide Dateiinhaltsprofile erläutert. Außerdem finden Sie Beispiele für das Importieren und Exportieren von Konfigurationsdateien. Die Beispiele verwenden die Azure CLI, aber die Konzepte in diesem Artikel gelten auch für andere App-Konfigurationsimportmethoden.
Dateiinhaltsprofil: Standard (default)
In App-Konfigurationstools ist das Standarddateiinhaltsprofil das herkömmliche Konfigurationsdateischema, das von vorhandenen Programmierframeworks und Systemen weit verbreitet wird. Dieses Profil wird beim Importieren von Tools für die App-Konfiguration wie dem Azure-Portal, der Azure CLI, der Azure App-Konfigurationsimportaufgabe in Azure Pipelines und GitHub-Aktionen verwendet. Die App-Konfiguration unterstützt JSON-, YAML- und Eigenschaftendateiformate.
Dieses Profil ist hilfreich, wenn Sie eine Datei während der Entwicklung als Fallbackkonfiguration für Ihre Anwendung oder die lokale Konfiguration verwenden möchten. Wenn Sie die Konfigurationsdatei importieren, geben Sie an, wie die Daten in App-Konfigurationsschlüsselwerte und Featurekennzeichnungen transformiert werden sollen.
Die folgende Konfigurationsdatei ,appsettings.json, stellt ein Beispiel für das Standarddateiinhaltsprofil bereit. Diese Datei enthält eine Konfigurationseinstellung und ein Feature-Flag.
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"feature_management": {
"feature_flags": [
{
"id": "Beta",
"enabled": false
}
]
}
}
Führen Sie den folgenden Azure CLI-Befehl aus, um diese Datei in die App-Konfiguration zu importieren. Es wendet eine dev
Beschriftung auf die Einstellung und das Feature-Flag an und verwendet einen Doppelpunkt (:
) als Trennzeichen, um den Schlüsselnamen zu vereinfachen.
az appconfig kv import --label dev --separator : --name <App-Configuration-store-name> --source file --path appsettings.json --format json
Sie können optional den folgenden Parameter zum vorherigen Befehl hinzufügen: --profile appconfig/default
Der Parameter ist optional, da das Standardprofil appconfig/default
ist.
Azure Key Vault-Verweise erfordern beim Importieren einen bestimmten Inhaltstyp. Daher behalten Sie sie in einer separaten Datei bei, wie in der folgenden Datei gezeigt, keyvault-refs.json:
{
"Database:ConnectionString": {
"uri": "https://<Key-Vault-name>.vault.azure.net/secrets/db-secret"
}
}
Führen Sie zum Importieren dieser Datei den folgenden Azure CLI-Befehl aus. Es wendet eine test
Bezeichnung auf den Key Vault-Verweis an und verwendet den Key Vault-Referenzinhaltstyp.
az appconfig kv import --label test --content-type "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8" --name <App-Configuration-store-name> --source file --path keyvault-refs.json --format json
In der folgenden Tabelle sind alle importierten Daten im App-Konfigurationsspeicher aufgeführt:
Schlüssel | Wert | Bezeichnung | Inhaltstyp |
---|---|---|---|
.appconfig.featureflag/Beta | {"id":"Beta","description":"","enabled": false,"conditions":{"client_filters":[]}} | dev | application/vnd.microsoft.appconfig.ff+json;charset=utf-8 |
Logging:LogLevel:Default | Warnung | dev | |
Database:ConnectionString | {"uri":"https://<Key-Vault-name.vault.azure.net/secrets/db-secret>"} | test | application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8 |
Dateiinhaltsprofil: KVSet
Bei den App-Konfigurationstools ist das KVSet-Dateiinhaltsprofil ein Dateischema, das alle Eigenschaften eines App-Konfigurationsschlüsselwerts enthält. Enthalten sind der Schlüsselname, sein Wert, seine Beschriftung, sein Inhaltstyp und seine Tags. Da sich alle Eigenschaften eines Schlüsselwerts in der Datei befinden, müssen Sie beim Importieren der Datei keine Transformationsregeln angeben.
Wenn Sie das KVSet-Profil verwenden, können Sie reguläre Schlüsselwerte, Key Vault-Verweise und Featurekennzeichnungen in einer Datei definieren. Daher ist dieses Profil hilfreich, wenn Sie alle App-Konfigurationsdaten in einer Datei verwalten und in einem Schritt importieren möchten.
Dateien, die dieses Profil verwenden, befinden sich im JSON-Format. Die Schemaspezifikation finden Sie im KVSet-Dateischema.
Die folgende Datei, appconfigdata.json, basiert auf dem KVSet-Dateiinhaltsprofil. Diese Datei enthält ein Feature-Flag, einen Key Vault-Verweis und einen Standardschlüsselwert.
{
"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://<Key-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": {}
}
]
}
Im vorherigen Abschnitt zeigt ein Beispiel, wie Daten in Ihren App-Konfigurationsspeicher importiert werden. Sie können diese Daten mithilfe des folgenden Azure CLI-Befehls in eine Datei exportieren:
az appconfig kv export --profile appconfig/kvset --label * --name <App-Configuration-store-name> --destination file --path appconfigdata.json --format json
Nachdem Sie die Datei exportiert haben, öffnen Sie sie in einem Text-Editor, und nehmen Sie die folgenden Änderungen vor:
- Legen Sie die
Beta
-Featureflagenabled
Eigenschaft auftrue
fest. - Setzen Sie die
Logging:LogLevel:Default
-Eigenschaft aufDebug
.
Um die aktualisierte Datei in Ihren App-Konfigurationsspeicher zu importieren, führen Sie den folgenden CLI-Befehl aus, der den --profile appconfig/kvset
Parameter enthält. Sie müssen keine Datentransformationsregeln angeben, z. B. ein Trennzeichen, eine Bezeichnung oder einen Inhaltstyp wie für das Standarddateiinhaltsprofil. Alle erforderlichen Informationen befinden sich bereits in der Datei.
az appconfig kv import --profile appconfig/kvset --name <App-Configuration-store-name> --source file --path appconfigdata.json --format json
Hinweis
Das KVSet-Dateiinhaltsprofil wird derzeit nur unterstützt in:
- Die Azure CLI-Version 2.30.0 und höher.
- Die Aufgabe "Azure App Configuration Import ", Version 10.0.0 und höher.
- Das Azure-Portal.
In der folgenden Tabelle sind alle importierten Daten im App-Konfigurationsspeicher aufgeführt:
Schlüssel | Wert | Bezeichnung | Inhaltstyp |
---|---|---|---|
.appconfig.featureflag/Beta | {"id":"Beta","description":"Beta-Funktion","enabled":true,"conditions":{"client_filters":[]}} | dev | application/vnd.microsoft.appconfig.ff+json;charset=utf-8 |
Logging:LogLevel:Default | Debuggen | dev | |
Database:ConnectionString | {"uri":"https://<Key-Vault-name.vault.azure.net/secrets/db-secret>"} | test | application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8 |