我有一个 ARM 模板,我正在尝试将区域条件应用于其中。就像如果 Region 变量等于 EUW 则使用变量 westeurope。这可以作为参数中的数组来完成,还是应该是带有 if 语句的变量数组?
我在其他线程上看到,ARM 模板实际上更多的是 if/else 语句,而不是 if/ifelse/else。
经典示例:
"availabilitySet": "[if(equals(parameters('production'), 'Yes'), variables('availabilitySetId'), json('null'))]",
我正在寻找这样的东西:
"parameters": {
"Region": {
"type": "string",
"defaultValue": "USSC",
"allowedValues": [
"AIE",
"BRS",
"EUW",
"USSC"
],
"metadata": {
"description": "Select Region"
}
}
},
"variables": {
"regionReference": {
"eastasia": "[if(equals(parameters('Region'), 'AIE')],
"brazilsouth": "[if(equals(parameters('Region'), 'BRS')],
"westeurope": "[if(equals(parameters('Region'), 'EUW')],
"southcentral": "[if(equals(parameters('Region'), 'USSC')],
}
}
请原谅我提前屠杀了它。我也考虑过条件语句,但也没有让它发挥作用。
最佳答案
你可以这样做:
"regionReference": {
"AIE": "eastasia",
"BRS": "brazilsouth",
"EUW": "westeurope",
"USSC": "southcentral"
}
然后您可以引用您选择的区域:
"location": "[variables('regionReference')[parameters('Region')])]"
尽管如此,我不明白你为什么要无缘无故地让自己的生活变得更加艰难
关于json - Azure ARM 模板可变条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60009315/