你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:创建和部署模板规格

本快速入门介绍如何将 Azure 资源管理器模板(ARM 模板)打包为模板规格。然后部署该模板规格。模板规格包含用于部署存储帐户的 ARM 模板。

Tip

建议使用 Bicep,因为它提供与 ARM 模板相同的功能,并且语法更易于使用。 有关详细信息,请参阅快速入门:使用 Bicep 创建和部署模板规范

Prerequisites

具有活动订阅的 Azure 帐户。 免费创建帐户

Note

若要将模板规格与 Azure PowerShell 一起使用,必须安装版本 5.0.0 或更高版本。 若要将其与 Azure CLI 配合使用,请使用 版本 2.14.2 或更高版本

创建模板

从 ARM 模板创建模板规格。 复制以下模板,并将其另存为 C:\Templates\createStorageV1.js。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountName": {
      "type": "string",
      "defaultValue": "[uniqueString(resourceGroup().id)]"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-01-01",
      "name": "[parameters('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {
        "accessTier": "Hot"
      }
    }
  ]
}

创建模板规格

模板规格是名为 Microsoft.Resources/templateSpecs 的资源类型。 若要创建模板规格,请使用 PowerShell、Azure CLI、Azure 门户或 ARM 模板。

  1. 创建新的资源组以包含模板规格。

    New-AzResourceGroup `
      -Name templateSpecRG `
      -Location westus2
    
  2. 在该资源组中创建模板规格。 将新的模板规格命名为 storageSpec。

    New-AzTemplateSpec `
      -Name storageSpec `
      -Version "1.0" `
      -ResourceGroupName templateSpecRG `
      -Location westus2 `
      -TemplateFile "C:\Templates\createStorageV1.json"
    

部署模板规格

若要部署模板规格,请使用部署模板所用的部署命令。 传入模板规格的资源 ID 以进行部署。

  1. 创建资源组以包含新的存储帐户。

    New-AzResourceGroup `
      -Name storageRG `
      -Location westus2
    
  2. 获取模板规格的资源 ID。

    $id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "1.0").Versions.Id
    
  3. 部署模板规格。

    New-AzResourceGroupDeployment `
      -TemplateSpecId $id `
      -ResourceGroupName storageRG
    
  4. 提供与 ARM 模板完全一样的参数。 使用存储帐户类型的参数重新部署模板规格。

    New-AzResourceGroupDeployment `
      -TemplateSpecId $id `
      -ResourceGroupName storageRG `
      -storageAccountType Standard_GRS
    

授予访问权限

如果要让组织中的其他用户部署模板规格,请向其授予读取权限。 对于包含要共享的模板规格的资源组,请将读者角色分配给 Microsoft Entra 组。 有关详细信息,请参阅教程:使用 Azure PowerShell 授予组对 Azure 资源的访问权限

更新模板

若要在模板规格中更改模板,请修改模板。 以下模板类似于先前的模板,只不过它为存储帐户名称添加前缀。 复制以下模板并将其另存为 createStorageV2.json 文件。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountName": {
      "type": "string",
      "defaultValue": "[format('store{0}', uniqueString(resourceGroup().id))]"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2025-01-01",
      "name": "[parameters('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {
        "accessTier": "Hot"
      }
    }
  ]
}

更新模板规格版本

添加一个名为 2.0 现有模板规格的新版本,而不是为修改后的模板创建新的模板规格。可以部署任一版本。

  1. 创建新的模板规格版本。

    New-AzTemplateSpec `
      -Name storageSpec `
      -Version "2.0" `
      -ResourceGroupName templateSpecRG `
      -Location westus2 `
      -TemplateFile "C:\Templates\createStorageV2.json"
    
  2. 若要部署新版本,请获取 2.0 版本的资源 ID。

    $id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name storageSpec -Version "2.0").Versions.Id
    
  3. 部署该版本。 为存储帐户名称提供一个前缀。

    New-AzResourceGroupDeployment `
      -TemplateSpecId $id `
      -ResourceGroupName storageRG `
      -namePrefix "demoaccount"
    

清理资源

若要清理本快速入门中部署的资源,请删除创建的两个资源组。

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

后续步骤

若要了解如何创建包含链接模板的模板规格,请参阅如何 创建链接模板的模板规格