在 ARM 模板中连接对象和字符串
Concat object and string in ARM template
我有一个 parameters.json 文件,它是一个包含不同环境的应用程序设置的对象。所以,它看起来像这样:
"parameters": {
"applicationSettings": {
"value": {
"CI": {
"setting1": "asdf"
},
"DEV": {
"setting1": "1234"
}
}
}
}
在模板文件中,我有一个名为 "applicationSettings" 的参数,它是参数文件中的对象。
在模板文件中,我还有一个名为 "deploymentEnvironment" 的参数,用于定义模板部署到的环境。因此,当我使用 applicationSettings 部署函数应用程序时,例如,我只需要获取 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')]]"
ps。您也可以将它们结合起来:
"[parameters('applicationSettings')[parameters('deploymentEnvironment')].property[xxx]]"
"[parameters('applicationSettings').property[xxx][parameters('deploymentEnvironment')]]"
我有一个 parameters.json 文件,它是一个包含不同环境的应用程序设置的对象。所以,它看起来像这样:
"parameters": {
"applicationSettings": {
"value": {
"CI": {
"setting1": "asdf"
},
"DEV": {
"setting1": "1234"
}
}
}
}
在模板文件中,我有一个名为 "applicationSettings" 的参数,它是参数文件中的对象。 在模板文件中,我还有一个名为 "deploymentEnvironment" 的参数,用于定义模板部署到的环境。因此,当我使用 applicationSettings 部署函数应用程序时,例如,我只需要获取 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')]]"
ps。您也可以将它们结合起来:
"[parameters('applicationSettings')[parameters('deploymentEnvironment')].property[xxx]]"
"[parameters('applicationSettings').property[xxx][parameters('deploymentEnvironment')]]"