在 ARM 中为生产型 Azure 功能插槽保留当前 AppSettings

问题描述 投票:0回答:1

我正在寻求为 Azure 功能实现一个暂存槽。我试图采取的方法是在 ARM 模板中定义该插槽以及其他基础设施和应用程序设置。然后,我将把应用部署到暂存槽中,并使用以下方法执行槽交换 az.

我遇到的问题是,应用程序设置有时包含运行的应用程序版本的特定设置。在ARM模板中,我想将新的应用程序设置应用于暂存槽,同时保留生产槽上某些设置的当前设置值。然后,这些生产槽设置应该只在接下来的几个步骤中发生交换时更新。

我一直没能在ARM中找到表达这个问题的方法。我曾尝试使用引用将appsetting属性设置为其当前值。我不知道这是否可能,但我得到一个通用的验证错误,没有详细说明为什么失败。

有没有办法让ARM中的一些appsettings保持不变?

更新

这是我尝试保留配置的现有值的一个片段。

{
    "type": "Microsoft.Web/sites/config",
    "name": "MyApp/appsettings",
    "apiVersion": "2019-08-01",
    "properties": {
        "MY_APP_CONFIG1": "[reference(resourceId('Microsoft.Web/sites/config', 'MyApp', 'appsettings'), '2019-08-01', 'Full').properties.MY_APP_CONFIG1]"
    }
}

这里介绍的引用函数没有通过模板验证。它给我的唯一信息是 The deployment validation failed.

azure azure-functions azure-web-sites azure-resource-manager
1个回答
0
投票

不,你必须在模板中设置所有的。要传递不同的值到模板,你正在使用部署到不同的环境(插槽),你可以使用参数(或参数文件)。你可能可以得到一个当前值的引用,与 reference(xxx, xxx, 'Full')

https:/docs.microsoft.comen-usazureazure-resource-managertemplatestemplate-functions-resource#reference。

© www.soinside.com 2019 - 2024. All rights reserved.