Azure ARM模板-处理ARM模板之间的依赖关系

Azure ARM模板-处理ARM模板之间的依赖关系,azure,azure-devops,azure-resource-manager,Azure,Azure Devops,Azure Resource Manager,我有各种azure资源,如虚拟网络,其模板包含该VNET中的子网详细信息、与不同子网关联的网络安全组模板、每个子网中虚拟机的模板。 现在,我有3个不同的json文件作为模板,对应于每个资源类型子网、NSG和VM。 我想自动化这个堆栈的创建,那么我应该如何在跨json文件模板之间添加依赖关系,或者以任何其他方式来实现这一点。与创建VNET之后一样->将创建NSG->将创建VM例如,在尝试部署SQL数据库之前,必须存在SQL server。您可以通过将一个资源标记为依赖于另一个资源来定义此关系。可以

我有各种azure资源,如虚拟网络,其模板包含该VNET中的子网详细信息、与不同子网关联的网络安全组模板、每个子网中虚拟机的模板。 现在,我有3个不同的json文件作为模板,对应于每个资源类型子网、NSG和VM。
我想自动化这个堆栈的创建,那么我应该如何在跨json文件模板之间添加依赖关系,或者以任何其他方式来实现这一点。与创建VNET之后一样->将创建NSG->将创建VM

例如,在尝试部署SQL数据库之前,必须存在SQL server。您可以通过将一个资源标记为依赖于另一个资源来定义此关系。可以使用dependsOn元素或使用reference函数定义依赖项

遵循此文档,其中讨论了此问题,定义在Azure资源管理器模板中部署资源的顺序


您需要查看模板的链接或嵌套。使用链接模板时,将创建一个主模板以在部署期间接受参数。然后,主模板引用案例VM、NSG和VNET中的链接模板,并根据需要将值传递给这些模板。可以设置链接模板与其他资源之间的依赖关系。您可以找到这样一个例子

我始终建议您深入查看维护良好的github repo中的101个ARM模板:

还有一个很好的索引:

还有一个很好的文档可以处理

您将在这里看到一个很好的可视化:

另外,请确保不要从现有解决方案的Azure protal下载ARM模板开始,这会很快导致我的体验一团糟


查看nice VS代码扩展以帮助在ARM模板JSON中导航,如果您想像armviz.io一样Vusalize,而不获取最新信息,以下解决方法是否对您有帮助?或者如果你有任何问题,请在这里分享。