ARM 模板资源中的 if 条件

if condition in ARM Template resource

我的 Arm 模板中有如下资源:

parameters:

env
prodparam
nonprodparam

resources:

{
  "type": "Microsoft.Resources/deployments",
  "apiVersion": "2018-05-01",
  "url": "[if(equals(parameters('env'),'prod'), parameters('prodparam'), parameters('nonprodparam'))]"
}

我看到 url 总是设置为参数 ('nonprodparam'),即使参数 ('env') = 'prod'。这是 if 条件正确吗?我错过了什么吗?

你的if condition说法是正确的,我测试了一下,结果正确。

您需要执行以下步骤来检查您的问题所在:

1.检查你的参数定义是否正确,尤其是评论中提到的Stringfellow,要区分大小写。应该定义如下。

2.注意在天蓝门户编辑arm templates后是否save

部署过程中可以查看参数值: