Microsoft Azure 资源管理器 (ARM) API 支持嵌套 JSON 模板,用于云资源的声明式供应。但是,文档 [当前] 没有说明支持多少层嵌套。只是一层嵌套,还是可以进一步嵌套?如果是这样,深度限制是多少?
https://azure.microsoft.com/en-us/documentation/articles/resource-group-linked-templates/
Microsoft Azure 资源管理器 (ARM) API 支持嵌套 JSON 模板,用于云资源的声明式供应。但是,文档 [当前] 没有说明支持多少层嵌套。只是一层嵌套,还是可以进一步嵌套?如果是这样,深度限制是多少?
https://azure.microsoft.com/en-us/documentation/articles/resource-group-linked-templates/
对,没有明确的限制。如果您检查 json 架构,您将找不到定义的任何最大限制:部署模板架构。但是,Azure 部署模板的总大小有限,不得超过 1MB:
您必须将模板的大小限制为 1 MB,并将每个参数文件限制为 64 KB。1 MB 限制适用于模板在使用迭代资源定义以及变量和参数值扩展后的最终状态。
不过不要与resources
element 混淆,它仅限于 5 级嵌套:
resources 属性允许您指定与正在定义的资源相关的子资源。子资源只能定义 5 层深度。需要注意的是,在子资源和父资源之间不会创建隐式依赖关系。如果您需要在父资源之后部署子资源,则必须使用 dependsOn 属性显式声明该依赖项。
最后,我无法想象嵌套模板超过 10 个的情况。想想可维护性以及调试/故障排除部署失败的挑战