ARM模板dependsOn依赖对象:链接部署还是其内部创建的资源?
ARM模板中dependsOn针对链接部署的作用确认
直接给你明确结论:当你在父ARM模板里,通过dependsOn引用另一个Microsoft.Resources/deployments类型的资源名称时,它指向的是这个链接部署资源本身,而不是该部署内部创建的具体资源。
不过别担心,这完全符合你原本的预期——Azure会确保被依赖的那个部署操作彻底完成(包括它里面所有子资源都创建/部署完毕),才会启动当前的部署任务。举个你场景里的例子:假设父模板里有对应web.serverFarm.json的部署资源(比如命名为serverFarmDeployment),还有对应web.site.json的部署资源(命名为webSiteDeployment),当你给webSiteDeployment的dependsOn设置为['serverFarmDeployment']时,Azure会等serverFarmDeployment这个部署100%完成(里面的App Service Plan资源完全就绪),才会开始执行webSiteDeployment的部署流程。
额外补充个小知识点:如果你的需求是要依赖子模板里的某个具体资源(而不是整个部署),那你不能直接用部署资源的名称,而是需要在子模板里把目标资源的ID设为输出值,然后在父模板里通过引用子部署的输出值来构建依赖关系——不过这和你当前的用法是两种不同的依赖逻辑。
内容的提问来源于stack exchange,提问作者user9314395
相关产品推荐
相关产品推荐

