你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在本快速入门中,你将使用适用于 Visual Studio Code 的 Azure 资源管理器工具扩展来创建和验证 Azure 资源管理器模板(ARM 模板)。 这些工具提供语言支持、资源片段和资源自动完成,帮助你高效生成和配置 ARM 模板。 遵循本指南时,你将体验扩展的功能,例如 ARM 模板代码片段、验证、完成和参数文件支持。
本快速入门重点介绍如何使用 Visual Studio Code 扩展生成 ARM 模板。 有关更侧重于语法的教程,请参阅教程:创建和部署第一个 ARM 模板。
如果还没有 Azure 订阅,可以在开始前创建一个免费帐户。
若要完成本快速入门,需要使用装有 Azure 资源管理器工具扩展的 Visual Studio Code。 此外,需要安装 Azure CLI 或 Azure PowerShell 模块并完成身份验证。
如果还没有 Azure 订阅,可以在开始前创建一个免费帐户。
Tip
我们建议使用 Bicep,因为它提供与 ARM 模板相同的功能,并且该语法更易于使用。 有关详细信息,请参阅快速入门:使用 Visual Studio Code 创建 Bicep 文件。
Note
适用于 Visual Studio Code 的 Azure 资源管理器工具扩展的当前版本无法识别 languageVersion 2.0 中提供的增强功能。
创建 ARM 模板
使用 Visual Studio Code 创建并打开名为 azuredeploy.json 的新文件。 在代码编辑器中输入 arm
,该命令将启动用于创建 ARM 模板基架的 Azure 资源管理器片段。
选择 arm!
以创建一个仅限用于 Azure 资源组部署的模板。
此片段将创建 ARM 模板的构建基块。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"functions": [],
"variables": {},
"resources": [],
"outputs": {}
}
请注意,Visual Studio Code 语言模式从“JSON”更改为“Azure 资源管理器模板”。 该扩展包含特定于 ARM 模板的语言服务器,该服务器提供特定于模板的验证、完成和其他语言服务。
添加 Azure 资源
该扩展包含许多 Azure 资源的片段。 使用这些片段轻松地将资源添加到模板部署中。
将光标置于模板的 resources 块中,键入 ,然后选择“arm-storage”片段。storage
此操作会将一个存储资源添加到模板。
"resources": [{
"name": "storageaccount1",
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2023-05-01",
"tags": {
"displayName": "storageaccount1"
},
"location": "[resourceGroup().location]",
"kind": "StorageV2",
"sku": {
"name": "Premium_LRS",
"tier": "Premium"
}
}],
使用 Tab 键在存储帐户的各个可配置属性之间切换。
完成和验证
该扩展的最强大功能之一是与 Azure 架构的集成。 Azure 架构为扩展提供了验证和资源感知的完成功能。 要通过实际操作来了解验证和完成,请修改存储帐户。
首先,将存储帐户类型更新为某个无效值,例如 megaStorage
。 此操作生成了一条警告,指出 megaStorage
不是有效值。
若要使用完成功能,请删除 megaStorage
,将光标置于双引号内部,然后按 ctrl
+ space
。 此操作会显示有效值的完成列表。
添加模板参数
现在,创建并使用一个参数来指定存储帐户名称。
将光标置于 parameters 块内,添加一个回车符,键入 "
,然后选择 new-parameter
片段。 此操作会将一个泛型参数添加到模板。
将参数名称更新为 storageAccountName
,将说明更新为 Storage account name
。
"parameters": {
"storageAccountName": {
"type": "string",
"metadata": {
"description": "Storage account name"
}
}
},
Azure 存储帐户名称的最小长度为 3 个字符,最大长度为 24 个字符。 将 minLength
和 maxLength
添加到参数,并提供适当的值。
"parameters": {
"storageAccountName": {
"type": "string",
"metadata": {
"description": "Storage account name"
},
"minLength": 3,
"maxLength": 24
}
},
现在,在存储资源中,将名称属性更新为使用该参数。 为此,请删除当前名称。 输入双引号和左方括号 [
,这会生成 ARM 模板函数的列表。 从列表中选择“parameters”。
在圆括号内部输入单引号 '
会生成模板中定义的所有参数(在本例中为 storageAccountName)的列表。 选择该参数。
创建参数文件
使用 ARM 模板参数文件可以存储特定于环境的参数值,并在部署时以组的形式传递这些值。 例如,可以创建一个参数文件来包含特定于测试环境的值,并创建另一个参数文件以用于生产环境。
在扩展中可以从现有模板轻松创建参数文件。 若要创建,请在代码编辑器中右键单击模板,然后选择 Select/Create Parameter File
。
选择 New
>All Parameters
>,然后选择参数文件的名称和位置。
此操作会创建一个新的参数文件,并将该文件映射到从其创建了该文件的模板。 选择模板后,可以在 Visual Studio Code 状态栏中查看和修改当前的模板/参数文件映射。
现在,参数文件映射到模板,扩展会将模板和参数文件一同验证。 若要通过实际操作来了解此验证,请将一个双字符值添加到参数文件中的 storageAccountName
参数,然后保存该文件。
导航回 ARM 模板,此时可以看到一个错误,指出值不符合参数条件。
将值更新为某个适当值,保存文件,然后导航回到模板。 可以看到,有关参数的错误已解决。
部署模板
使用 ctrl
+ `
组合键打开集成式 Visual Studio Code 终端,然后使用 Azure CLI 或 Azure PowerShell 模块来部署模板。
az group create --name arm-vscode --location eastus
az deployment group create --resource-group arm-vscode --template-file azuredeploy.json --parameters azuredeploy.parameters.json
清理资源
如果不再需要本文中创建的 Azure 资源,请使用 Azure CLI 或 Azure PowerShell 模块删除快速入门资源组。
az group delete --name arm-vscode