教程:将资源添加到 ARM 模板
在上一教程中,你已了解如何创建和部署第一个空白 Azure 资源管理器模板(ARM 模板)。 现在,可以部署实际的资源到该模板。 在本案例中,是一个 Azure 存储帐户。 完成此说明需要 9 分钟。
先决条件
建议完成有关模板的简介教程,但这不是一项要求。
需要安装 Visual Studio Code 并与 Azure 资源管理器工具扩展以及 Azure PowerShell 或 Azure 命令行接口 (CLI) 一起使用。 有关详细信息,请参阅模板工具。
添加资源
若要将 Azure 存储帐户定义添加到现有模板,请查看以下示例中突出显示的 JSON 文件。 可以复制整个文件并使用其内容替换模板,而无需尝试复制模板的各个节。
将 {provide-unique-name}
和大括号 {}
替换为唯一的存储帐户名称。
重要
存储帐户名称在 Azure 中必须是唯一的。 它只能为小写字母或数字,限制为 24 个字符。 可以使用 store1 之类的名称作为前缀,然后添加你的姓名首字母缩写和当天的日期。 例如,名称可以是 store1abc06132022。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-09-01",
"name": "{provide-unique-name}",
"location": "chinaeast",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
}
]
}
存储帐户的唯一名称不容易猜出,尤其是在大型部署的自动化中不太适合进行这种猜测。 稍后在本教程系列中,你将使用相应的模板功能来更轻松地创建唯一名称。
资源属性
你可能想要知道如何找到用于每种资源类型的属性。 可以使用 ARM 模板参考来查找要部署的资源类型。
部署的每个资源至少具有以下三个属性:
type
:资源的类型。 此值是资源提供程序的命名空间和资源类型(例如Microsoft.Storage/storageAccounts
)的组合。apiVersion
:用于创建资源的 REST API 版本。 每个资源提供程序都发布了其自身的 API 版本,因此此值与特定的类型相关。name
:资源的名称。
大多数资源还有一个 location
属性,该属性用于设置部署资源的区域。
其他属性因资源类型和 API 版本而异。 了解 API 版本与可用属性之间的关联非常重要,因此,让我们直接了解详情。
在本教程中,你将添加一个存储帐户到模板。 可以在 storageAccounts 2021-09-01 中查看存储帐户的 API 版本。 请注意,你并未将所有属性添加到模板。 许多属性是可选的。 Microsoft.Storage
资源提供程序可能发布了新的 API 版本,但要部署的版本不需要更改。 可以继续使用该版本,部署的结果是一致的。
如果查看较旧的 API 版本,你会发现提供了一个较小的属性集。
如果你决定更改资源的 API 版本,请确保评估该版本的属性,并相应地调整模板。
部署模板
可以部署模板来创建存储帐户。 为部署指定不同的名称,以便可以在历史记录中轻松找到它。
如果尚未创建资源组,请参阅创建资源组。 此示例假设已根据第一篇教程中所述,将 templateFile
变量设置为模板文件的路径。
New-AzResourceGroupDeployment `
-Name addstorage `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile
注意
如果部署失败,请使用 verbose
开关获取有关正在创建的资源的信息。 使用 debug
开关获取调试的详细信息。
这些错误是你可能遇到的两种可能的部署失败:
Error: Code=AccountNameInvalid; Message={provide-unique-name}
不是有效的存储帐户名称。 存储帐户名称长度必须为 3 到 24 个字符,并且只能使用数字和小写字母。在模板中,请将
{provide-unique-name}
替换为唯一的存储帐户名称。 请参阅添加资源。Error: Code=StorageAccountAlreadyTaken; Message=The storage account named store1abc09092019
已被使用。在模板中尝试使用其他存储帐户名称。
由于要创建存储帐户,所以此部署花费的时间长于空白模板部署。 可能需要大约 1 分钟。
验证部署
可以通过在 Azure 门户中浏览资源组来验证部署。
- 登录 Azure 门户。
- 在左侧菜单中选择“资源组”。
- 选中 myResourceGroup 左侧的框,然后选择 myResourceGroup
- 选择已部署到的资源组。
- 可以看到,已部署了一个存储帐户。
- 请注意,部署标签现在显示:“部署: 2 个已成功”。
清理资源
若要继续学习下一篇教程,则不需删除该资源组。
如果你不打算继续学习,请删除该资源组以清理部署的资源。
- 在 Azure 门户上的左侧菜单中选择“资源组” 。
- 在“筛选任何字段…”框中键入资源组名称。
- 选中 myResourceGroup 旁边的框,然后选择 myResourceGroup 或所选的资源组名称。
- 在顶部菜单中选择“删除资源组”。
后续步骤
你已创建一个用于部署 Azure 存储帐户的简单模板。 在后面的教程中,你将了解如何向模板添加参数、变量、资源和输出。 这些功能是更复杂的模板的构建基块。