Azure 应用配置支持数据导入和导出作。 使用这些操作可以批量处理配置数据,并在您的应用配置存储和代码项目之间交换数据。 例如,可以设置一个用于测试的应用配置存储,另一个用于生产。 可以在它们之间复制应用程序设置,这样就不必两次输入数据。
本文提供了使用 Azure 门户 或 Azure CLI 导入和导出数据的指南。 如果已采用 “配置即代码” 并在 GitHub 或 Azure DevOps 中管理配置,则可以使用 GitHub Actions 或使用 Azure Pipeline 导入任务设置正在进行的配置文件导入。
导入数据
导入会将配置数据从现有源引入应用配置存储区。 使用导入函数将数据迁移到应用配置存储或聚合来自多个源的数据。
本指南演示如何导入应用配置数据:
从配置文件导入数据
按照以下步骤从文件导入键值。
在 Azure 门户中,执行以下步骤:
导航到应用配置存储区,然后从“作”菜单中选择“导入/导出”。
“导入”单选按钮默认处于选中状态。 在 “源类型”下,选择 “配置文件”。
使用以下参数填写表单:
| 参数 |
Description |
Example |
| 文件类型 |
选择要导入的文件类型:YAML、属性或 JSON。 |
JSON |
单击“ 浏览 ”按钮,然后选择要导入的文件。
填写表单的下一部分:
| 参数 |
Description |
Example |
| 文件内容概要 |
选择内容配置文件:默认或 KVSet。
默认文件内容配置文件是指现有编程框架或系统广泛采用的传统配置文件架构,支持 JSON、YAML 或属性文件格式。 KVSet 文件内容配置文件是指包含应用程序配置键值的所有属性(包括键、值、标签、内容类型和标记)的文件架构。 |
默认 |
| 导入模式 |
导入模式用于确定是否忽略相同的键值。 使用 “忽略匹配 ”选项,将忽略与配置文件中的键值相同的存储区中的任何键值。 使用 “全部 ”选项,配置文件中的所有键值都会更新。 |
忽略匹配项 |
| 排除功能标志 |
如果选中,将不会导入功能标志。 |
未被检查 |
| 严格 |
如果选中该框,则当文件内容配置文件设置为“默认”时,将删除存储中具有指定前缀和标签且未包含在配置文件中的所有键值。 将文件内容配置文件设置为 KVSet 时,存储中未包含在配置文件中的任何键值都将被删除。 如果未选中该框,则不会删除存储中的键值。 |
未被检查 |
| 分隔符 |
分隔符是用于将 JSON 或 YAML 文件平展为键值的分隔符。 对于属性文件和功能标志,将忽略它。 支持的值包括无分隔符、句点(.)、逗号(、分号(;)、连字符(-)、下划线(__)、双下划线(__)、斜杠(/)和冒号(:))。 |
: |
| 深度 |
可选。 将 JSON 或 YAML 文件平展为键值对的深度。 默认情况下,如果选择分隔符,文件将平展到最深层。 此设置不适用于属性文件或功能标志。 |
|
| 添加前缀 |
可选。 如果指定,则会向所有导入的键值的键名称添加前缀。 |
TestApp: |
| 添加标签 |
可选。 如果指定,则提供的标签将分配给所有导入的键值。 |
产品 |
| 添加内容类型 |
可选。 如果指定,则提供的内容类型将添加到所有导入的键值。 |
JSON (application/json) |
| 添加标记 |
可选。 如果指定,则提供的标记将添加到所有导入的键值。 |
{tag: tag1} |
选择 “应用” 以继续导入。
已成功从 JSON 文件导入键值。 键名称使用 : 分隔符扁平化,并带有 TestApp: 前缀。 所有导入的键值都标记为prodapplication/json内容类型,并带有tag: tag1标记。
在 Azure CLI 中,执行以下步骤。 如果没有在本地安装 Azure CLI,可以选择使用 Azure Cloud Shell。
输入导入命令 az appconfig kv import 并添加以下参数:
| 参数 |
Description |
Example |
--name |
输入要将数据导入到的应用配置存储的名称。 |
my-app-config-store |
--source |
Enter file 表示要从文件导入应用配置数据。 |
file |
--path |
输入包含要导入的数据的文件的本地路径。 |
C:/Users/john/Downloads/data.json |
--format |
输入 yaml、属性或 json 以指示要导入的文件的格式。 |
json |
(可选)还添加以下参数:
| 参数 |
Description |
Example |
--separator |
可选。 分隔符用于将键值扁平化为 JSON/YAML。 导出分层结构时需要使用它,而对于属性文件和功能标志则会被忽略。 选择以下选项之一:.、、,、:;、/-、、 _、 。 — |
; |
--prefix |
可选。 键前缀是密钥的开头部分。 前缀可用于管理配置存储中的键值组。 此前缀将附加到每个导入键值的“键”属性的前面。 |
TestApp: |
--label |
可选。 请为导入的键值输入一个要分配的标签。 |
prod |
--content-type |
可选。 输入 appconfig/kvset 或 application/json 声明导入的内容由 Key Vault 引用或 JSON 文件组成。 |
application/json |
示例:从 JSON 文件导入所有键值和功能标志,应用标签“prod”,并追加前缀“TestApp”。 添加“application/json”内容类型。
az appconfig kv import --name my-app-config-store --source file --path D:/abc.json --format json --separator ; --prefix TestApp: --label prod --content-type application/json
命令行显示即将进行的更改的列表。 选择y以确认导入。
从 JSON 文件导入了键值,并为其分配了标签“prod”和前缀“TestApp:”。 使用分隔符“;”,并且导入的所有键值都已将内容类型设置为“JSON”。
有关更多可选参数和示例,请转到 az appconfig kv import。
从应用配置存储区导入数据
可以将值从一个应用配置存储区导入到另一个应用配置存储区,也可以将值从一个应用配置存储导入到同一个应用配置存储区,以便复制其值并应用不同的参数,例如新标签或内容类型。
按照以下步骤从 Azure 应用配置存储导入键值和功能标志。
在 Azure 门户中,执行以下步骤:
导航到应用配置存储区,然后从“作”菜单中选择“导入/导出”。
“导入”单选按钮默认处于选中状态。 在 “源类型”下,选择 “应用配置”。
选择要从中导入数据的应用配置存储区,并使用以下参数填写表单:
| 参数 |
Description |
Example |
| Subscription |
默认情况下,已选择当前订阅。 |
my-subscription |
| 资源组 |
选择一个包含应用配置存储及需导入配置的资源组。 当前资源组默认处于选中状态。 |
my-resource-group |
| Resource |
选择包含要导入的配置的应用配置存储区。 |
my-other-app-config-store |
填写表单的下一部分:
| 参数 |
Description |
Example |
| 选择模式 |
选择是从常规键值(即默认选项)还是从快照导入。 |
默认 |
| 关键筛选器 |
用于根据要导入的键名称筛选键值。 如果未指定任何密钥,则所有密钥都符合条件。 |
从测试开始 |
| 在特定时间 |
可选。 填写此字段以从所选配置存储中的特定时间点导入键值。 如果留空,则默认为键值当前时间点。 |
2022/07/28 上午 12:00:00 |
| 从标签 |
选择一个或多个标签以导入与这些标签关联的键值。 如果未选择任何标签,则所有标签都符合条件。 |
产品 |
| 排除功能标志 |
如果选中,将不会导入功能标志。 |
未被检查 |
| 添加前缀 |
可选。 如果指定,则会向所有导入的键值的键名称添加前缀。 |
TestApp: |
| 重写标签 |
可选。 默认情况下,保留源键值的原始标签。 若要重写它们,请选中该框并输入所导入键值的新标签。 |
新增功能 |
| 重写内容类型 |
可选。 默认情况下,保留源键值的原始内容类型。 若要覆盖它们,请选中该框并为导入的键值输入新的内容类型。 请注意,无法重写功能标志的内容类型。 |
JSON (application/json) |
选择 “应用” 以继续导入。
您于 2021 年 1 月 28 日凌晨 12 点从应用程序配置存储中导入了键值,其中键名称以 test 开头,标签为 prod。 键名称带有TestApp:前缀。 所有导入的键值都分配了标签 new 和内容类型 application/json。
在 Azure CLI 中,执行以下步骤。 如果没有在本地安装 Azure CLI,可以选择使用 Azure Cloud Shell。
输入导入命令 az appconfig kv import 并输入以下参数:
| 参数 |
Description |
Example |
--name |
输入要将数据导入到的应用配置存储的名称 |
my-app-config-store |
--source |
Enter appconfig 表示要从应用程序配置存储区导入数据。 |
appconfig |
--src-name |
输入要从中导入数据的应用配置存储的名称。 |
my-source-app-config |
--src-label |
将导入限制为具有特定标签的键值。 如果不使用此参数,将仅导入具有 null 标签的键值。 支持通过特定标记进行筛选:输入 * 即可应用于所有标签;输入 abc* 即可应用于所有以 abc 为前缀的标签。 |
prod |
(可选)添加以下参数:
| 参数 |
Description |
Example |
--label |
可选。 请为导入的键值输入一个要分配的标签。 |
new |
--content-type |
可选。 输入 appconfig/kvset 或 application/json 声明导入的内容由 Key Vault 引用或 JSON 文件组成。 只能为导入的键值重写内容类型。 功能标志的默认内容类型为“application/vnd.microsoft.appconfig.ff+json;charset=utf-8' 默认情况下,此参数不会更新。 |
application/json |
示例:从另一个应用配置导入带有标签“prod”的键值和功能标志,并为其分配标签“new”。 添加“application/json”内容类型。
az appconfig kv import --name my-app-config-store --source appconfig --src-name my-source-app-config --src-label prod --label new --content-type application/json
命令行显示即将进行的更改的列表。 选择y以确认导入。
从应用配置存储区导入了标签为“prod”的键值,并为其分配了标签“new”。 导入的所有键值都已将内容类型设置为“JSON”。
有关更多可选参数和示例,请转到 az appconfig kv import。
从 Azure 应用服务导入数据
按照以下步骤从 Azure 应用服务导入键值。
注释
应用服务目前不支持功能标志。 导入到应用服务的所有功能标志将自动转换为键值。 App 服务资源只能包含键值。
通过 Azure 门户:
导航到应用配置存储区,然后从“作”菜单中选择“导入/导出”。
“导入”单选按钮默认处于选中状态。 在 “源类型”下,选择 “应用服务”。
选择要从中导入数据的应用配置存储区,并使用以下参数填写表单:
| 参数 |
Description |
Example |
| Subscription |
默认情况下,已选择当前订阅。 |
my-subscription |
| 资源组 |
选择包含要导入的配置的应用服务的资源组。 |
my-resource-group |
| Resource |
选择包含要导入的配置的应用服务。 |
my-app-service |
填写表单的下一部分:
| 参数 |
Description |
Example |
| 更新设置以进行引用 |
如果选中,应用服务中的应用设置将更新为导入的键值的应用程序配置引用。 这样,就可以在应用配置中管理应用设置。 应用服务将自动从应用配置中拉取当前值。 若要了解详细信息,请参阅 使用应用服务和 Azure Functions 的应用配置参考。 |
已选中 |
| 添加前缀 |
可选。 如果指定,则会向所有导入的键值的键名称添加前缀。 |
TestApp: |
| 添加标签 |
可选。 如果指定,则提供的标签将分配给所有导入的键值。 |
产品 |
| 添加内容类型 |
可选。 如果指定,则提供的内容类型将添加到所有导入的键值。 |
JSON (application/json) |
选择 “应用” 以继续导入。
将应用服务中的所有应用程序设置作为键值导入,并为其分配了标签 prod 和前缀 TestApp:。 导入的所有键值都设置为 application/json内容类型。
在 Azure CLI 中,执行以下步骤。 如果没有在本地安装 Azure CLI,可以选择使用 Azure Cloud Shell。
输入导入命令 az appconfig kv import 并添加以下参数:
| 参数 |
Description |
Example |
--name |
输入要将数据导入到的应用配置存储的名称。 |
my-app-config-store |
--source |
Enter appservice 表示要从 Azure 应用服务导入应用配置数据。 |
appservice |
--appservice-account |
输入应用服务的 ARM ID 或使用应用服务的名称(如果它与应用配置位于同一订阅和资源组中)。 |
/subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/my-app-service 或 my-app-service |
(可选)还添加以下参数:
| 参数 |
Description |
Example |
--prefix |
可选。 键前缀是键值“key”属性的开头部分。 前缀可用于管理配置存储中的键值组。 此前缀将附加到每个导入键值的“键”属性的前面。 |
TestApp: |
--label |
可选。 请为导入的键值输入一个要分配的标签。 如果未指定标签,则会为您的键值分配 null 标签。 |
prod |
--content-type |
可选。 输入 appconfig/kvset 或 application/json,指出导入的内容由 Key Vault 引用或 JSON 文件组成。 |
application/json |
若要获取其值 --appservice-account,请使用命令 az webapp show --resource-group <resource-group> --name <resource-name>。
示例:将来自您的 App Service 的所有应用程序设置作为带有标签“prod”的键值导入到您的应用配置存储中,并添加“TestApp:”前缀。
az appconfig kv import --name my-app-config-store --source appservice --appservice-account /subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/my-app-service --label prod --prefix TestApp:
命令行显示即将进行的更改的列表。 选择y以确认导入。
已将应用服务中的所有应用程序设置作为键值导入,为其分配了标签“prod”,并添加了“TestApp:”前缀。 导入的所有键值都已将内容类型设置为“JSON”。
有关更多可选参数和示例,请转到 az appconfig kv import。
从 Azure Kubernetes 服务 ConfigMaps 导入数据
按照以下步骤从 Azure Kubernetes 服务 ConfigMaps 导入键值。 门户对此功能的支持正在开发中,请使用 Azure CLI 从 AKS 导入。
在 Azure CLI 中,执行以下步骤。 如果没有在本地安装 Azure CLI,可以选择使用 Azure Cloud Shell。
输入导入命令 az appconfig kv import 并添加以下参数:
| 参数 |
Description |
Example |
--name |
输入要将数据导入到的应用配置存储的名称。 |
my-app-config-store |
--source |
Enter aks 表示要从 Azure Kubernetes 服务导入应用配置数据。 |
aks |
--aks-cluster |
输入 Azure Kubernetes 服务的 ARM ID 或使用 Azure Kubernetes 服务的名称(如果它与应用配置位于同一订阅和资源组中)。 |
/subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.ContainerService/managedClusters/my-aks-cluster 或 my-aks-cluster |
--configmap-namespace |
输入要导入的 ConfigMap 的命名空间。 |
default |
--configmap-name |
输入要导入的 ConfigMap 的名称。 |
my-configmap |
(可选)还添加以下参数:
| 参数 |
Description |
Example |
--prefix |
可选。 键前缀是键值“key”属性的开头部分。 前缀可用于管理配置存储中的键值组。 此前缀将附加到每个导入键值的“键”属性的前面。 |
TestApp: |
--label |
可选。 请为导入的键值输入一个要分配的标签。 如果未指定标签,则会为您的键值分配 null 标签。 |
test |
--content-type |
可选。 输入 appconfig/kvset 或 application/json,指出导入的内容由 Key Vault 引用或 JSON 文件组成。 |
application/json |
--format |
可选。 输入 yaml、属性或 json 以指示要导入的 ConfigMap 的格式。 |
json |
--separator |
可选。 分隔符是用于平展键值的分隔符。 导出分层结构时需要使用它,而对于属性文件和功能标志则会被忽略。 选择以下选项之一:.、、,、:;、/-、、 _、 。 — |
; |
若要获取其值 --aks-cluster,请使用命令 az aks show --resource-group <resource-group> --name <aks-cluster-name>。
示例:将带有标签“test”的 AKS Configmap 中所有设置作为键值导入到您的应用程序配置存储中,并添加“TestApp:”前缀。
az appconfig kv import --name my-app-config-store --source aks --aks-cluster /subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.ContainerService/managedClusters/my-aks-cluster --configmap-namespace default --configmap-name my-configmap --label test --prefix TestApp:
命令行显示即将进行的更改的列表。 选择y以确认导入。
从 AKS ConfigMap 导入所有设置作为键值,为其分配了标签“test”,并添加了“TestApp:”前缀。
有关更多可选参数和示例,请转到 az appconfig kv import。
导出数据
将存储在应用配置中的配置数据导出到另一个目标。 例如,使用导出函数将数据从应用程序配置存储保存到可在部署过程中嵌入到应用程序代码中的文件。
本指南演示如何导出应用配置数据:
将数据导出到配置文件
按照以下步骤将配置数据从应用配置存储导出到 JSON、YAML 或属性文件。
在 Azure 门户中,执行以下步骤:
导航到应用配置存储区,然后选择 “导入/导出”。
选择“ 导出 ”单选按钮,然后在 “目标类型”下选择 “配置文件”。
使用以下参数填写表单:
| 参数 |
Description |
Example |
| 文件类型 |
选择用于导出的文件类型:YAML、属性或 JSON。 |
JSON |
| 文件内容概要 |
选择内容配置文件:默认或 KVSet。
默认文件内容配置文件是指现有编程框架或系统广泛采用的传统配置文件架构,支持 JSON、YAML 或属性文件格式。 KVSet 文件内容配置文件是指包含应用程序配置键值的所有属性(包括键、值、标签、内容类型和标记)的文件架构。 |
默认 |
| 选择模式 |
选择是从常规键值(即默认选项)还是从快照导出。 |
默认 |
| 关键筛选器 |
用于根据导出的键名称筛选键值。 如果未指定任何密钥,则所有密钥都符合条件。 |
从 TestApp 开始: |
| 在特定时间 |
可选。 填写此字段以从所选配置存储中的特定时间点导出键值。 如果留空,则默认为键值当前时间点。 |
2022/07/28 上午 12:00:00 |
| 从标签 |
选择标签以导出与这些标签关联的键值。 如果未选择任何标签,则所有标签都符合条件。 请注意,导出包含 Default 的文件内容配置文件时,只能选择一个标签。 若要导出具有多个标签的键值,请使用 KVSet 文件内容配置文件。 |
产品 |
| 删除前缀 |
可选。 如果指定,将从包含该前缀的所有导出键值的键名称中删除。 |
TestApp: |
| 分隔符 |
分隔符是分隔符,用于对键名称进行分段,并从键值重新构造 JSON 或 YAML 文件的分层配置。 对于属性文件和功能标志,将忽略它。 支持的值包括无分隔符、句点(.)、逗号(、分号(;)、连字符(-)、下划线(_)、双下划线(__)、斜杠(/)和冒号(:))。 |
: |
选择 “导出 ”以完成导出。
你将截至 2021 年 7 月 28 日上午 12 点的键值从应用程序配置存储区导出到了 JSON 文件,键名以 TestApp: 开头,标签为 prod。 前缀 TestApp: 已从键名称中剪裁,并且分隔符 : 用于分段键名称并重新构造分层 JSON 格式。
在 Azure CLI 中,执行以下步骤。 如果没有在本地安装 Azure CLI,可以选择使用 Azure Cloud Shell。
输入导出命令 az appconfig kv export 并添加以下参数:
| 参数 |
Description |
Example |
--name |
输入包含要导出的键值的应用配置存储的名称。 |
my-app-config-store |
--destination |
Enter file 表示正在将数据导出到文件。 |
file |
--path |
输入要在其中保存文件的路径。 |
C:/Users/john/Downloads/data.json |
--format |
输入 yaml或 propertiesjson 指示要导出的文件的格式。 |
json |
--label |
输入标签以导出带有此标签的键值和功能标志。 如果未指定标签,则默认情况下,仅导出键值和功能标志,不带标签。 可以输入一个标签,或者通过,分隔输入多个标签,或者使用*来考虑所有标签。 |
prod |
重要
如果未选择标签,则仅导出不带标签的键值。 若要导出带有标签的键值,必须选择其标签。
(可选)还添加以下参数:
| 参数 |
Description |
Example |
--separator |
可选。 分隔符用于将键值扁平化为 JSON/YAML。 导出分层结构时需要使用它,而对于属性文件和功能标志则会被忽略。 选择以下选项之一:.、、,、:;、/-、、 _、 。 — |
; |
--prefix |
可选。 要从每个键值的“键”属性中剪裁的前缀。 键前缀是密钥的开头部分。 前缀可用于管理配置存储中的键值组。 功能标志将忽略前缀。 |
TestApp: |
示例:将所有带有标签“prod”的键值和功能标志导出到 JSON 文件。
az appconfig kv export --name my-app-config-store --label prod --destination file --path D:/abc.json --format json --separator ; --prefix TestApp:
命令行显示导出到文件的键值列表。 选择y以确认导出。
变体功能标志使用 Microsoft功能管理架构导出到文件中,而其他功能标志则使用 .NET 功能管理架构 导出,以便兼容。 若要使用 Microsoft 功能管理架构以独占方式导出功能标志,请将环境变量AZURE_APPCONFIG_FM_COMPATIBLE设置为 False。
已将具有“prod”标签的键值和功能标志导出到配置文件,并剪裁了前缀“TestApp”。 值由文件中的“;”分隔。
有关更多可选参数和示例,请转到 az appconfig kv export。
将数据导出到应用配置存储
按照以下步骤将键值和功能标志导出到 Azure 应用配置存储。
可以将值从一个应用配置存储导出到另一个应用配置存储,也可以将值从一个应用配置存储导出到同一个应用配置存储,以便复制其值并应用不同的参数,例如新标签或内容类型。
在 Azure 门户中,执行以下步骤:
导航到包含要导出的数据的应用配置存储区,然后从“作”菜单中选择“导入/导出”。
选择“ 导出 ”单选按钮,然后在 “目标类型”下选择 “应用配置”。
使用以下参数填写表单:
| 参数 |
Description |
Example |
| 选择模式 |
选择是从常规键值(即默认选项)还是从快照导出。 |
默认 |
| 关键筛选器 |
用于根据导出的键名称筛选键值。 如果未指定任何密钥,则所有密钥都符合条件。 |
从 TestApp 开始: |
| 在特定时间 |
可选。 填写此字段以从所选配置存储中的特定时间点导出键值。 如果留空,则默认为键值当前时间点。 |
2022/07/28 上午 12:00:00 |
| 从标签 |
选择一个或多个标签以导出与这些标签关联的键值。 如果未选择任何标签,则所有标签都符合条件。 |
产品 |
| 排除功能标志 |
如果选中,将不会导出功能标志。 |
未被检查 |
选择目标存储区,使用以下参数填写表单:
| 参数 |
Description |
Example |
| Subscription |
默认情况下,已选择当前订阅。 |
my-subscription |
| 资源组 |
选择包含要导出配置的应用配置存储的资源组。 当前资源组默认处于选中状态。 |
my-resource-group |
| Resource |
选择要导出配置的应用配置存储区。 |
my-other-app-config-store |
填写表单的下一部分:
| 参数 |
Description |
Example |
| 删除前缀 |
可选。 如果指定,将从包含该前缀的所有导出键值的键名称中删除。 |
TestApp: |
| 重写标签 |
可选。 默认情况下,保留源键值的原始标签。 若要覆盖它们,请选中该框并输入导出键值的新标签。 |
新增功能 |
| 重写内容类型 |
可选。 默认情况下,保留源键值的原始内容类型。 若要重写它们,请选中该框并输入所导出键值的新内容类型。 请注意,无法重写功能标志的内容类型。 |
JSON (application/json) |
选择 “应用” 以继续导出。
你将截至 2022 年 7 月 28 日上午 12 点的键值从应用程序配置存储区导出到了另一个应用程序配置存储区,键名以 TestApp: 开头,标签为 prod。 所有导出的键值都剪裁了键前缀 TestApp:,并分配了标签 new 和内容类型 application/json。
在 Azure CLI 中,执行以下步骤。 如果没有在本地安装 Azure CLI,可以选择使用 Azure Cloud Shell。
输入导出命令 az appconfig kv export 并输入以下参数:
| 参数 |
Description |
Example |
--name |
输入包含要导出的键值的应用配置存储的名称。 |
my-app-config-store |
--destination |
输入 appconfig 表示数据将被导出到应用程序配置存储区。 |
appconfig |
--dest-name |
输入要将数据导出到的应用配置存储的名称。 |
my-other-app-config-store |
--label |
输入标签以导出带有此标签的键值和功能标志。 如果未指定标签,则默认情况下,将仅导出键值和功能标志,不带标签。 可以输入一个标签,通过使用 , 分隔符输入多个标签,或者使用 * 考虑所有标签。 |
prod |
重要
如果要导出的键值具有标签,则必须使用命令 --label 并输入相应的标签。 如果未选择标签,则仅导出不带标签的键值。 使用逗号 (,) 选择多个标签,或者用于 * 包括所有标签,包括 null 标签(无标签)。
(可选)还添加以下参数:
| 参数 |
Description |
Example |
--dest-label |
可选。 输入目标标签,将此标签分配给导出的键值。 |
new |
示例:将带有标签“prod”的键值和功能标志导出到另一个应用配置存储区,并添加目标标签“new”。
az appconfig kv export --name my-app-config-store --destination appconfig --dest-name my-other-app-config-store --dest-label new --label prod
命令行显示导出到文件的键值列表。 选择y以确认导出。
你从应用配置存储导出了标签为“prod”的键值和功能标志,并为其分配了标签“new”。
有关更多可选参数和示例,请转到 az appconfig kv import。
将数据导出到 Azure 应用服务
按照以下步骤将密钥值导出到 Azure 应用服务。
在 Azure 门户中,执行以下步骤:
导航到应用配置存储区,然后从“作”菜单中选择“导入/导出”。
选择“ 导出 ”单选按钮,然后在 “目标类型”下选择 “应用服务”。
默认情况下会选中 “导出为引用 ”选项。 选中该框后,应用服务中的应用程序设置将添加为所导出键值的应用程序配置引用。 这样,就可以在应用配置中管理设置,应用服务会自动从应用配置中拉取当前值。 若要了解详细信息,请参阅 使用应用服务和 Azure Functions 的应用配置参考。 如果未选中该框,则键和值将直接导出到应用服务。 请记住,每当您在应用配置中进行更改时,都要再次导出数据,以确保应用程序能够获取更新。
使用以下参数填写表单:
| 参数 |
Description |
Example |
| 选择模式 |
选择是从常规键值(即默认选项)还是从快照导出。 |
默认 |
| 关键筛选器 |
用于根据导出的键名称筛选键值。 如果未指定任何密钥,则所有密钥都符合条件。 |
从 TestApp 开始: |
| 在特定时间 |
可选。 填写此字段以从所选配置存储中的特定时间点导出键值。 如果留空,则默认为键值当前时间点。 |
2022/07/28 上午 12:00:00 |
| 从标签 |
选择一个标签以导出与此标签关联的键值。 |
产品 |
选择目标存储区,并使用以下参数填写表单:
| 参数 |
Description |
Example |
| Subscription |
默认情况下,已选择当前订阅。 |
my-subscription |
| 资源组 |
选择包含要导出配置的应用服务的资源组。 |
my-resource-group |
| Resource |
选择要导出配置的应用服务。 |
my-app-service |
(可选)填写表单的下一部分:
| 参数 |
Description |
Example |
| 删除前缀 |
可选。 如果指定,将从包含该前缀的所有导出键值的键名称中删除。 |
TestApp: |
选择 “应用” 以继续导出。
你将截至 2022 年 7 月 28 日上午 12 点的键值从应用程序配置存储区导出到了应用服务资源的应用程序设置,键名以 TestApp: 开头,标签为 prod。
TestApp:前缀已从导出的密钥名称中剪裁。
如果选中了将键值导出为引用的框,则导出的键值将指示为应用服务资源配置设置的“源”列中的应用配置引用。
在 Azure CLI 中,执行以下步骤。 如果没有在本地安装 Azure CLI,可以选择使用 Azure Cloud Shell。
输入导出命令 az appconfig kv export 并输入以下参数:
| 参数 |
Description |
Example |
--name |
输入包含要导出的键值的应用配置存储的名称。 |
my-app-config-store |
--destination |
Enter appservice 表示将数据导出到应用服务。 |
appservice |
--appservice-account |
输入应用服务的 ARM ID 或使用应用服务的名称(如果它与应用配置位于同一订阅和资源组中)。 |
/subscriptions/123/resourceGroups/my-as-resource-group/providers/Microsoft.Web/sites/my-app-service 或 my-app-service |
--label |
可选。 输入标签以导出带有此标签的键值和功能标志。 如果未指定标签,则默认情况下,仅导出没有标签的键值和功能标志。 |
prod |
若要获取其值 --appservice-account,请使用命令 az webapp show --resource-group <resource-group> --name <resource-name>。
(可选)还添加前缀:
| 参数 |
Description |
Example |
--prefix |
可选。 要从导出的键值的“键”属性剪裁的前缀。 键前缀是密钥的开头部分。 前缀可用于管理配置存储中的键值组。 |
TestApp: |
示例:将标签为“prod”的所有键值导出到应用服务应用程序,并剪裁前缀“TestApp”。
az appconfig kv export --name my-app-config-store --destination appservice --appservice-account /subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/my-app-service/config/web --label prod --prefix TestApp:
命令行显示导出到应用服务资源的键值列表。 选择y以确认导出。
已将标签为“prod”的所有键值导出到 Azure 应用服务资源,并剪裁了前缀“TestApp:”。
可选地指定一个参数,将其输出为应用配置引用。
| 参数 |
Description |
--export-as-reference
-r
|
可选。 指定键值是否作为应用配置引用导出到应用服务。
了解详细信息。 |
示例:将带有“prod”标签的所有键值作为应用程序配置参考导出到应用服务应用程序。
az appconfig kv export --name my-app-config-store --destination appservice --appservice-account "/subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/my-app-service" --label prod --export-as-reference
命令行显示作为应用服务资源的应用配置引用导出的键值列表。 选择y以确认导出。
您已将标记为“prod”的所有键值作为应用配置引用,导出到 Azure 应用服务资源中。 在您的应用服务资源中,导入的键值将在“源”列中显示为应用配置引用。
有关更多可选参数和示例,请转到 az appconfig kv export。
错误消息
导入或导出应用配置键值时,可能会遇到以下错误消息:
-
禁止对存储区进行公共访问,或者从不在存储区专用终结点配置中的专用终结点进行访问。 如果应用程序配置存储区已启用专用终结点,则默认情况下只能从配置的虚拟网络中访问它。 确保运行 Azure 门户或 CLI 的计算机已加入与专用终结点相同的虚拟网络。 如果刚刚启用对应用配置存储的公共网络访问,请在重试前至少等待 5 分钟,以允许缓存刷新。
后续步骤