我见过许多使用复制函数创建多vm作为循环的模板。例如:vm1、vm2等。但这不是我们在实践中的做法,因为每个vm都有不同的功能,命名约定也没有帮助。我正在尝试创建一个具有不同vM名称、大小和单个自定义图像的模板。有人能帮忙吗?
我建议在模板的参数或变量部分使用名称/值对数组,例如
"parameters": {
"vms": {
"type": "array",
"defaultValue": [
{
"name": "vm1",
"size": "Standard_DS1_v2"
},
{
"name": "vm2",
"size": "Standard_A1_v2"
}
]
}
}
然后你可以用取消引用数组
"copy": {
"name": "vmCopy",
"count": "[length(parameters('vms'))]"
}
和
parameters('vms')[copyIndex()].name
parameters('vms')[copyIndex()].size
通过使用参数,我们可以区分VM名称、大小等:
"parameters": {
"org": {
"type": "array",
"defaultValue": [
"contoso",
"fabrikam",
"coho"
]
}
},
<![endif]->
As Copy函数可以从参数数组中获得正确的值,并可以自动使用length((设置计数。
请参阅MS文档以了解更多信息。
也可以看看这个答案,感谢SamaraSoucy的解释。