快速入门:使用 Visual Studio Code 创建 Azure 资源管理器模板Quickstart: Create Azure Resource Manager templates with Visual Studio Code

适用于 Visual Studio Code 的 Azure 资源管理器工具提供语言支持、资源片段和资源自动完成。The Azure Resource Manager Tools for Visual Studio Code provide language support, resource snippets, and resource autocompletion. 这些工具可帮助创建和验证 Azure 资源管理器模板。These tools help create and validate Azure Resource Manager templates. 在本快速入门中,你将使用扩展从头开始创建 Azure 资源管理器模板。In this quickstart, you use the extension to create an Azure Resource Manager template from scratch. 在此过程中,你将体验 ARM 模板片段、验证、完成和参数文件支持等扩展功能。While doing so you experience the extensions capabilities such as ARM template snippets, validation, completions, and parameter file support.

若要完成本快速入门,需要使用装有 Azure 资源管理器工具扩展Visual Studio CodeTo complete this quickstart, you need Visual Studio Code, with the Azure Resource Manager tools extension installed. 此外,需要安装 Azure CLIAzure PowerShell 模块并完成身份验证。You also need either the Azure CLI or the Azure PowerShell module installed and authenticated.

如果没有 Azure 订阅,请在开始前创建一个试用帐户If you don't have an Azure subscription, create a trial account before you begin.

创建 ARM 模板Create an ARM template

使用 Visual Studio Code 创建并打开名为 azuredeploy.json 的新文件。Create and open with Visual Studio Code a new file named azuredeploy.json. 在代码编辑器中输入 arm,该命令将启动用于创建 ARM 模板基架的 Azure 资源管理器片段。Enter arm into the code editor, which initiates Azure Resource Manager snippets for scaffolding out an ARM template.

选择 arm! 以创建一个仅限用于 Azure 资源组部署的模板。Select arm! to create a template scoped for an Azure resource group deployment.

此图显示了 Azure 资源管理器基架片段

此片段将创建 ARM 模板的构建基块。This snippet creates the basic building blocks for an ARM template.

此图显示了具有完整基架的 ARM 模板

请注意,Visual Studio Code 语言模式已从“JSON”更改为“Azure 资源管理器模板”。Notice that the Visual Studio Code language mode has changed from JSON to Azure Resource Manager Template. 该扩展包含特定于 ARM 模板的语言服务器,该服务器提供特定于 ARM 模板的验证、完成和其他语言服务。The extension includes a language server specific to ARM templates which provides ARM template-specific validation, completion, and other language services.

此图显示了“Azure 资源管理器”用作 Visual Studio Code 语言模式

添加 Azure 资源Add an Azure resource

该扩展包含许多 Azure 资源的片段。The extension includes snippets for many Azure resources. 使用这些片段可以轻松地将资源添加到模板部署中。These snippets can be used to easily add resources to your template deployment.

将光标置于模板的 resources 块中,键入 storage,然后选择“arm-storage”片段。Place the cursor in the template resources block, type in storage, and select the arm-storage snippet.

此图显示了正在向 ARM 模板中添加的资源

此操作会将一个存储资源添加到模板。This action adds a storage resource to the template.

此图显示了 ARM 模板中的 Azure 存储资源

可以使用 Tab 键在存储帐户的各个可配置属性之间切换。The tab key can be used to tab through configurable properties on the storage account.

此图显示了如何使用 Tab 键切换资源配置

完成和验证Completion and validation

该扩展的最强大功能之一是与 Azure 架构的集成。One of the most powerful capabilities of the extension is its integration with Azure schemas. Azure 架构为扩展提供了验证和资源感知的完成功能。Azure schemas provide the extension with validation and resource-aware completion capabilities. 让我们修改存储帐户,通过实际操作来了解验证和完成。Let's modify the storage account to see validation and completion in action.

首先,将存储帐户类型更新为某个无效值,例如 megaStorageFirst, update the storage account kind to an invalid value such as megaStorage. 可以看到,此操作导致生成了一条警告,指出 megaStorage 不是有效值。Notice that this action produces a warning indicating that megaStorage is not a valid value.

此图显示了无效的存储配置

若要使用完成功能,请删除 megaStorage,将光标置于双引号内部,然后按 ctrl + spaceTo use the completion capabilities, remove megaStorage, place the cursor inside of the double quotes, and press ctrl + space. 此操作会显示有效值的完成列表。This action presents a completion list of valid values.

此图显示了扩展自动完成功能

添加模板参数Add template parameters

现在,创建并使用一个参数来指定存储帐户名称。Now create and use a parameter to specify the storage account name.

将光标置于 parameters 块内,添加一个回车符,键入 ",然后选择 new-parameter 片段。Place your cursor in the parameters block, add a carriage return, type ", and then select the new-parameter snippet. 此操作会将一个泛型参数添加到模板。This action adds a generic parameter to the template.

此图显示了正在向 ARM 模板中添加的参数

将参数名称更新为 storageAccountName,将说明更新为 Storage Account NameUpdate the name of the parameter to storageAccountName and the description to Storage Account Name.

此图显示了 ARM 模板中已完成的参数

Azure 存储帐户名称的最小长度为 3 个字符,最大长度为 24 个字符。Azure storage account names have a minimum length of 3 characters and a maximum of 24. minLengthmaxLength 添加到参数,并提供适当的值。Add both minLength and maxLength to the parameter and provide appropriate values.

此图显示了正在向 ARM 模板参数中添加的 minLength 和 maxLength

现在,在存储资源中,将名称属性更新为使用该参数。Now, on the storage resource, update the name property to use the parameter. 为此,请删除当前名称。To do so, remove the current name. 输入双引号和左方括号 [,这会生成 ARM 模板函数的列表。Enter a double quote and an opening square bracket [, which produces a list of ARM template functions. 从列表中选择“parameters”。Select parameters from the list.

此图显示了在 ARM 模板资源中使用参数时的自动完成功能

在圆括号内部输入单引号 ' 会生成模板中定义的所有参数(在本例中为 storageAccountName)的列表。Entering a single quote ' inside of the round brackets produces a list of all parameters defined in the template, in this case, storageAccountName. 选择该参数。Select the parameter.

此图显示了 ARM 模板资源中已完成的参数

创建参数文件Create a parameter file

使用 ARM 模板参数文件可以存储特定于环境的参数值,并在部署时以组的形式传递这些值。An ARM template parameter file allows you to store environment-specific parameter values and pass these values in as a group at deployment time. 例如,可以创建一个参数文件来包含特定于测试环境的值,并创建另一个参数文件以用于生产环境。For example, you may have a parameter file with values specific to a test environment and another for a production environment.

在扩展中可以从现有模板轻松创建参数文件。The extension makes it easy to create a parameter file from your existing templates. 若要创建,请在代码编辑器中右键单击模板,然后选择 Select/Create Parameter FileTo do so, right-click on the template in the code editor and select Select/Create Parameter File.

此图显示了从 ARM 模板通过右键单击来创建参数文件

选择 New > All Parameters,然后选择参数文件的名称和位置。Select New > All Parameters > Select a name and location for the parameter file.

此图显示了在从 ARM 模板创建参数文件时出现的名称和保存文件对话框

此操作会创建一个新的参数文件,并将该文件映射到从其创建了该文件的模板。This action creates a new parameter file and maps it with the template from which it was created. 选择模板后,可以在 Visual Studio Code 状态栏中查看和修改当前的模板/参数文件映射。You can see and modify the current template/parameter file mapping in the Visual Studio Code status bar while the template is selected.

显示 Visual Studio Code 状态栏中的模板/参数文件映射的图像。

现在,参数文件已映射到模板,扩展会将模板和参数文件一同验证。Now that the parameter file has been mapped to the template, the extension validates both the template and parameter file together. 若要通过实际操作来了解此验证,请将一个双字符值添加到参数文件中的 storageAccountName 参数,然后保存该文件。To see this validation in practice, add a two-character value to the storageAccountName parameter in the parameter file and save the file.

此图显示了由于参数文件问题而失效的模板

导航回到 ARM 模板,此时可以看到,其中引发了一个错误,指出值不符合参数条件。Navigate back to the ARM template and notice that an error has been raised indicating that the value does not meet the parameter criteria.

此图显示了一个有效的 ARM 模板

将值更新为某个适当值,保存文件,然后导航回到模板。Update the value to something appropriate, save the file, and navigate back to the template. 可以看到,有关参数的错误已解决。Notice that the error on the parameter has been resolved.

部署模板Deploy the template

使用 ctrl + ` 组合键打开集成式 Visual Studio Code 终端,然后使用 Azure CLI 或 Azure PowerShell 模块来部署模板。Open the integrated Visual Studio Code terminal using the ctrl + ` key combination and use either the Azure CLI or Azure PowerShell module to deploy the template.

az group create --name arm-vscode --location chinaeast

az deployment group create --resource-group arm-vscode --template-file azuredeploy.json --parameters azuredeploy.parameters.json

清理资源Clean up resources

如果不再需要本文中创建的 Azure 资源,请使用 Azure CLI 或 Azure PowerShell 模块删除快速入门资源组。When the Azure resources are no longer needed, use the Azure CLI or Azure PowerShell module to delete the quickstart resource group.

az group delete --name arm-vscode

后续步骤Next steps