Azure 手臂模板中的Concat对象和字符串
我有一个parameters.json文件,它是一个包含不同环境的应用程序设置的对象。所以,它看起来像这样:Azure 手臂模板中的Concat对象和字符串,azure,azure-resource-manager,arm-template,Azure,Azure Resource Manager,Arm Template,我有一个parameters.json文件,它是一个包含不同环境的应用程序设置的对象。所以,它看起来像这样: "parameters": { "applicationSettings": { "value": { "CI": { "setting1": "asdf" }, "DEV": { "setting1": "1234"
"parameters": {
"applicationSettings": {
"value": {
"CI": {
"setting1": "asdf"
},
"DEV": {
"setting1": "1234"
}
}
}
}
在模板文件中,我有一个名为“applicationSettings”的参数,它是参数文件中的对象。
在模板文件中,我还有一个名为“deploymentEnvironment”的参数,用于定义模板要部署到的环境。因此,当我部署带有应用程序设置的函数应用程序时,例如,我只需要获取CI环境的那些设置
我试过这个:
[concat('parameters(''applicationSettings'').', parameters('deploymentEnvironment'))]
但是发生了一个部署错误:
{
"ErrorEntity": {
"ExtendedCode": "51008",
"MessageTemplate": "The parameter {0} has an invalid value.",
"Parameters": [
"properties"
],
"Code": "BadRequest",
"Message": "The parameter properties has an invalid value."
}
}
如何在parameters.json文件中引用对象的属性,以便根据deploymentEnvironment参数提取特定的应用程序设置?您需要使用
[]
符号:
"[parameters('applicationSettings')[parameters('deploymentEnvironment')]]"
另外,您还可以将这些功能组合在一起:
"[parameters('applicationSettings')[parameters('deploymentEnvironment')].property[xxx]]"
"[parameters('applicationSettings').property[xxx][parameters('deploymentEnvironment')]]"
就这样。我简直不敢相信我忘记了Javascript.btw中使用的这么简单的概念,您可以将它们结合起来,检查更新的答案;)我不会!等待计时器说我可以接受答案:)