如何在可用性区域的 Azure ARM 模板中使用 IF 语句?
How to use IF statement in Azure ARM template for availability zones?
我正在尝试将可用性区域添加到我的 VM 创建模板中,我正在使用下面的代码来实现它并且它工作正常。
"zones": "[split(string(add(mod(copyIndex(),3),1)), ',')]"
但我想更进一步。我有一个名为 'VM Quantity' 的参数,我想要它以便如果此参数等于 1,则不要处理这行代码。
所以基本上,如果 'VM Quantity' 等于 1,则不要将 VM 添加到可用区,但如果它等于 2 或大于 2,则 运行 上面的代码将其添加可用区。
我试过各种 IF 语句,但根本无法使它起作用。
有谁知道我将如何实现这一点?
谢谢!
我想你可以添加判断如下:
"zones": "[if(lessOrEquals(parameter('VM_Quantity'), 1), '', split(string(add(mod(copyIndex(),3),1)), ','))]"
如果有人需要做类似的事情,我设法用下面的代码解决了这个问题:
"zones": "[if(greaterOrEquals(parameters('VM Quantity'),2),split(string(add(mod(copyIndex(),3),1)), ','),'')]"
解释这段代码,如果参数'VM Quantity'大于等于'2',执行
split(string(add(mod(copyIndex(),3),1)), ',')
部分代码,如果没有,什么都不做。
我正在尝试将可用性区域添加到我的 VM 创建模板中,我正在使用下面的代码来实现它并且它工作正常。
"zones": "[split(string(add(mod(copyIndex(),3),1)), ',')]"
但我想更进一步。我有一个名为 'VM Quantity' 的参数,我想要它以便如果此参数等于 1,则不要处理这行代码。
所以基本上,如果 'VM Quantity' 等于 1,则不要将 VM 添加到可用区,但如果它等于 2 或大于 2,则 运行 上面的代码将其添加可用区。
我试过各种 IF 语句,但根本无法使它起作用。
有谁知道我将如何实现这一点?
谢谢!
我想你可以添加判断如下:
"zones": "[if(lessOrEquals(parameter('VM_Quantity'), 1), '', split(string(add(mod(copyIndex(),3),1)), ','))]"
如果有人需要做类似的事情,我设法用下面的代码解决了这个问题:
"zones": "[if(greaterOrEquals(parameters('VM Quantity'),2),split(string(add(mod(copyIndex(),3),1)), ','),'')]"
解释这段代码,如果参数'VM Quantity'大于等于'2',执行
split(string(add(mod(copyIndex(),3),1)), ',')
部分代码,如果没有,什么都不做。