在同一个VM上通过Azure模板运行多个自定义脚本 [英] Run multiple custom scripts through Azure templates on same VM
本文介绍了在同一个VM上通过Azure模板运行多个自定义脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
{
"name": "[concat(variables('web'),'/script1')]",
"properties":
{
"settings": {
"fileUris": ["https://.../script1.py"],
"commandToExecute": "python script1.py"
}
}
},
{
"name": "[concat(variables('web'),'/script2')]",
"properties":
{
"settings": {
"fileUris": ["https://.../script2.sh"],
"commandToExecute": "bash script2.sh"
}
}
},
为清楚起见,我省略了type、apiVersion、Location以及Publisher、type和typeHandlerVersion。这两个脚本都依赖于"[concat(‘Microsoft.Compute/virtualMachines/’,变量(‘Web’)]"
推荐答案
对于Azure VM扩展,它是Azure资源,而不是资源的属性。因此,如果您想要在一个模板中向VM添加多个扩展,您应该将每个扩展作为一个资源。这是example。
更新
如果一个模板中有两个或多个扩展,您应该确保执行这些扩展的顺序。虽然在一个模板中有多个扩展,但它们仍在VM中逐个执行。例如,第一个扩展名为
"[concat(variables('vmName'),'/', 'antiMalwareExtension')]"
您需要在第二个扩展中添加"DependsOn":
"dependsOn":[
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]",
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),'/', 'antiMalwareExtension')]"
],
后面的扩展也应该是这样的。
这篇关于在同一个VM上通过Azure模板运行多个自定义脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文