如何将 "Microsoft.Web/sites/slots" appsettings 值复制到文件中?

How can I copy a "Microsoft.Web/sites/slots" appsettings values into a file?

使用 ARM 模板,我将新的和现有的机密从密钥库(以及一些特定于环境的设置)填充到暂存槽的应用程序设置中。

作为发布管道的一部分,我使用 az webapp config appsettings set 命令用测试值覆盖了插槽上的一些应用程序设置。

在此之后,我需要将应用程序设置恢复为 ARM 模板中的原始值,然后再将我的插槽与生产插槽交换。

我可以直接将slot的appsettings复制到pipeline中的一个文件中,或者在ARM模板中创建一个额外的文件吗? 这将允许我在 运行 我的测试后重新应用生产设置。

Can I directly copy the slot's appsettings to a file in the pipeline, or create an additional file in the ARM template?

当然,你可以做到。

您可以尝试使用以下命令将应用程序设置输出到 Json 文件。

$result=az webapp config appsettings list --name WebAppName -g  ResourceGroupName --slot slotname  

$result | Out-File "$(System.DefaultWorkingDirectory)\file.json" 

然后appsettings将输出到json文件。

例如:

运行测试后,您可以运行以下命令将应用程序设置恢复为原始值。

az webapp config appsettings set -g ResourceGroupName -n WebAppName  --slot slotname --settings  "@$(System.DefaultWorkingDirectory)\file.json"

这是关于 az web app config settings 的文档。