了解 Azure 资源管理器模板结构和架构
Azure 资源管理器模板包含一个或多个 Azure 资源的 JSON 格式定义,以及便于自定义其配置的参数和变量。
使用最简单的结构时,模板有以下元素:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "",
"apiProfile": "",
"parameters": { },
"variables": { },
"functions": [ ],
"resources": [ ],
"outputs": { }
}
元素名称 | 必须 | 说明 |
---|---|---|
$schema | 是 | 用于说明模板语言版本的 JavaScript 对象表示法 (JSON) 架构文件所在的位置。 所用版本号取决于部署范围和 JSON 编辑器。 如果使用的是带有 Azure 资源管理器工具扩展的 Visual Studio Code,请使用最新版本进行资源组部署: https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json# 其他编辑器(包括 Visual Studio)可能无法处理此架构。 对于这些编辑器,请使用: https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json# 对于订阅部署,请使用: https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json# 对于管理组部署,请使用: https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json# 对于租户部署,请使用: https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json# |
contentVersion | 是 | 模板的版本(例如 1.0.0.0)。 可为此元素提供任意值。 使用此值记录模板中的重要更改。 使用模板部署资源时,此值可用于确保使用正确的模板。 |
apiProfile | 否 | 用作资源类型 API 版本集合的 API 版本。 使用此值可以避免为模板中的每个资源指定 API 版本。 如果已指定 API 配置文件版本,但没有为资源类型指定 API 版本,则 Azure 资源管理器将对配置文件中定义的此资源类型使用该 API 版本。 将模板部署到不同的环境(例如 Azure Stack 和全球 Azure)时,API 配置文件属性非常有用。 使用 API 配置文件版本可确保模板自动使用两个环境均支持的版本。 有关最新 API 配置文件版本以及配置文件中定义的资源 API 版本的列表,请参阅 API 配置文件。 有关详细信息,请参阅使用 API 配置文件跟踪版本。 |
parameters | 否 | 执行部署以自定义资源部署时提供的值。 |
variables | 否 | 在模板中用作 JSON 片段以简化模板语言表达式的值。 |
functions | 否 | 可在模板中使用的用户定义函数。 |
resources | 是 | 已在资源组或订阅中部署/更新的资源类型。 |
outputs | 否 | 部署后返回的值。 |