用于持续添加资源的 Azure ARM 模板

Azure ARM template for continuous resource adding

我想澄清有关 Azure ARM 模板的以下差距:
让我们建议我有一个主模板,里面有以下内容:

App Service plan creation
Azure SQL server creation
SQL elastic pool creation (using previously created Azure SQL server)

此模板将用于初始创建我的云基础架构。

接下来,我将向我的主模板添加一个子(嵌套或链接)模板。
子模板将包含 AppService Web App+SQL 创建:

Web App creation (using App Service Plan defined in master template)
Azure SQL database creation (using Azure SQL server defined in master template)
Adding Azure SQL database to elastic pool (defined in master template)

我将省略一些细节,例如 Azure Key Vault 的初始创建以及在该保管库中创建和存储所需的凭据,例如 SQL admin username\password 或我的 Web 应用程序的 SSL 证书。

所以,我想在模板部署执行结束时得到的是:
first template deployment

second template deployment

N-template deployment

问题是:

我已经找到 说,例如,我可以使用资源锁定(以防止删除)或使用增量模式进行部署(以保留现有资源)但是,这没有回答我关于整个方法的问题。

Nested\Linked 模板可以互换使用。这是同一件事。有人可能会争辩说嵌套模板是内联模板,链接实际上是链接的,但这并不重要,两者是一回事(它们在模板中的实现略有不同,但结果是一样的)。子模板(这正是您想要调用它们的方式)。

至于真题:

  1. 您为什么要使用子模板?我没有看到这些的用例。
  2. 除了为了使用子模板而使用子模板之外,我没有发现这种方法有任何问题。

如果您希望您的方法是 "modular"(因此使用子模板),您也可以使用配置和实现分离来实现结果(DRY 方法)。