首页 > 解决方案 > 如何将模板中的文字数组值与通过参数提供的数组结合起来?

问题描述

在我部署网站的 ARM 模板中,我需要在模板中定义一些“appSettings”。我在模板中还有一个参数,它接受另一个设置数组。我想将这个传入的设置数组与我在模板本身中定义的设置组合,以生成我在 ARM 模板中设置的最终“appSettings”数组。我怎样才能做到这一点?

谢谢!

标签: azureazure-resource-managerarm-template

解决方案


我相信我有类似的情况,通过使用该union功能已解决。我选择使用,union因为我在 ARM 模板中定义了一组默认应用程序设置,并且我还想传递一个参数来定义新设置并可能覆盖一些默认设置。函数“返回包含参数中所有元素的union单个数组或对象。重复的值或键只包含一次。 ”如果使用concat,则在默认集和参数集中定义的设置将出现多次。

"variables": {
  "appSettingDefault": [...default values here...],
  "unionAppSettings": "[union(variables('appSettingDefault'), parameters('armAppSettings'))]",

然后只需将变量分配给资源属性:

"siteConfig": {
  "appSettings": "[variables('unionAppSettings')]"
}

推荐阅读