您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

教程:创建和部署第一个 ARM 模板

本教程介绍 Azure 资源管理器模板(ARM 模板)。 其中将会说明如何创建初学者模板并将其部署到 Azure。 本教程还将介绍模板的结构,以及使用模板时所需的工具。 完成本教程大约需要 12 分钟,但实际时间根据需要安装的工具数量而异。

本文是相关教学系列的第一篇教程。 在学习该教学系列的过程中,你将逐步修改入门模板,直到了解了 ARM 模板的所有核心部分。 这些元素是更复杂的模板的构建基块。 我们希望在本教学系列结束时,你能够自信地创建自己的模板,并准备好使用这些模板自动完成部署。

若要了解使用模板的好处,以及为何要使用模板自动完成部署,请参阅 ARM 模板概述。 要通过 Microsoft Learn 上的一组引导式模块了解 ARM 模板,请参阅使用 ARM 模板在 Azure 中部署和管理资源

如果还没有 Azure 订阅,可以在开始前创建一个免费帐户

获取工具

首先,请确保已获取创建和部署模板所需的工具。 在本地计算机上安装这些工具。

编辑器

模板是一些 JSON 文件。 若要创建模板,需要一个好用的 JSON 编辑器。 我们建议使用带有资源管理器工具扩展的 Visual Studio Code。 如果需要安装这些工具,请参阅快速入门:使用 Visual Studio Code 创建 ARM 模板

命令行部署

还需要使用 Azure PowerShell 或 Azure CLI 来部署模板。 如果使用 Azure CLI,则必须具有最新版本。 有关安装说明,请参阅:

安装 Azure PowerShell 或 Azure CLI 后,请务必完成首次登录。 有关帮助,请参阅登录 - PowerShell登录 - Azure CLI

重要

如果使用的是 Azure CLI,请确保安装 2.6 或更高版本。 如果使用的是较低版本,本教程中所示的命令将不起作用。 要查看已安装版本,请使用 az --version

好了,现在可以开始了解模板。

创建第一个模板

  1. 打开装有资源管理器工具扩展的 Visual Studio Code。

  2. 在“文件”菜单中,选择“新建文件”以创建新的文件。

  3. 在“文件”菜单中选择“另存为”。

  4. 将该文件命名为 azuredeploy,然后选择“json”文件扩展名 。 完整的文件名为 azuredeploy.json。

  5. 将该文件保存到工作站。 选择容易记住的路径,因为稍后在部署模板时需要提供该路径。

  6. 将以下 JSON 内容复制并粘贴到该文件中:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "resources": []
    }
    

    Visual Studio Code 环境如下所示:

    ARM 模板 Visual Studio Code First 模板

    此模板不部署任何资源。 我们从一个空白模板开始,以便可以熟悉模板的部署步骤,同时尽量减少出错的可能性。

    JSON 文件包含以下元素:

    • $schema:指定 JSON 架构文件的位置。 架构文件描述模板中可用的属性。 例如,架构定义 resources 作为模板的有效属性之一。 不要担心架构的日期为 2019-04-01。 此架构版本是最新的,其中包含所有最新功能。 之所以未更改架构日期,是因为自从推出以来,它尚未发生重大更改。
    • contentVersion:指定模板的版本(例如 1.0.0.0)。 可为此元素提供任意值。 使用此值记录模板中的重要更改。 使用模板部署资源时,此值可用于确保使用正确的模板。
    • resources:包含要部署或更新的资源。 此元素目前是空的,但稍后要添加资源。
  7. 保存文件。

祝贺你,现已创建第一个模板。

登录 Azure

若要开始使用 Azure PowerShell/Azure CLI,请使用你的 Azure 凭据登录。

使用以下代码部分中的选项卡在 Azure PowerShell 与 Azure CLI 之间进行选择。 本文中的 CLI 示例针对 Bash shell 编写。

Connect-AzAccount

如果你有多个 Azure 订阅,请选择要使用的订阅。 将 [SubscriptionID/SubscriptionName] 和方括号 [] 替换为你的订阅信息:

Set-AzContext [SubscriptionID/SubscriptionName]

创建资源组

部署模板时,请指定一个包含资源的资源组。 在运行部署命令之前,请使用 Azure CLI 或 Azure PowerShell 创建该资源组。

New-AzResourceGroup `
  -Name myResourceGroup `
  -Location "Central US"

部署模板

若要部署模板,请使用 Azure CLI 或 Azure PowerShell。 使用创建的资源组。 为部署指定一个适当的名称,以便可以在部署历史记录中轻松识别该部署。 为方便起见,另请创建一个用于存储模板文件路径的变量。 使用此变量可以更轻松地运行部署命令,因为无需在每次部署时重新键入路径。 将 {provide-the-path-to-the-template-file} 和花括号 {} 替换为模板文件的路径。

$templateFile = "{provide-the-path-to-the-template-file}"
New-AzResourceGroupDeployment `
  -Name blanktemplate `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile

部署命令将返回结果。 查看 ProvisioningState 以确定部署是否成功。

备注

如果部署失败,请使用 verbose 开关获取有关正在创建的资源的信息。 使用 debug 开关获取调试的详细信息。

验证部署

可以通过在 Azure 门户中浏览资源组来验证部署。

  1. 登录 Azure 门户

  2. 在左侧菜单中选择“资源组”。

  3. 选择在上一过程中部署的资源组。 默认名称为 myResourceGroup。 你应会看到,该资源组中未部署任何资源。

  4. 请注意,在概述的右上角显示了部署状态。 选择“1 成功”。

    查看部署状态

  5. 将会看到该资源组的部署历史记录。 选择“blanktemplate”。

    选择部署

  6. 将会看到部署摘要。 在本例中,显示的信息不是很多,因此尚未部署任何资源。 在本教学系列的后续教程中,你可能会发现,查看部署历史记录中的摘要非常有用。 请注意,在左侧可以查看部署过程中使用的输入、输出和模板。

    查看部署摘要

清理资源

若要继续学习下一篇教程,则不需删除该资源组。

如果就此停止学习,请删除该资源组。

  1. 在 Azure 门户上的左侧菜单中选择“资源组” 。
  2. 在“按名称筛选”字段中输入资源组名称。
  3. 选择资源组名称。
  4. 在顶部菜单中选择“删除资源组”。

后续步骤

现已创建一个要部署到 Azure 的简单模板。 在下一篇教程中,你要将一个存储帐户添加到该模板,然后将其部署到资源组。