17

我们是 ARM(Azure 资源管理器)模板的新手。在处理模板时,我观察到我们必须在部署模板时提供资源组。是否可以像其他资源一样通过模板创建资源组?

4

5 回答 5

13

现在您可以使用 ARM 模板创建资源组。您可以使用以下模板

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "rgLocation": {
      "type": "string",
      "defaultValue": "Southeast Asia"
    },
    "rgName": {
      "type": "string",
      "defaultValue": "myResourceGroup"
    }
  },
  "variables": {},
  "resources": [
    {
      "type": "Microsoft.Resources/resourceGroups",
      "apiVersion": "2018-05-01",
      "location": "[parameters('rgLocation')]",
      "name": "[parameters('rgName')]"
    }
  ],
  "outputs": {}
}

你可以使用 Azure CLI 运行它。但是您必须安装最新的 CLI 版本。我安装了 2.0.43 版。这包括使用命令的订阅级别部署。az deployment

要执行此操作,请运行以下命令。

az deployment create --name <deployment_name> --location <resource_location> --template-file .\azuredeploy.json

于 2018-08-06T05:32:19.623 回答
5

它现在发布在微软文档中,

az deployment create \
  -n demoEmptyRG \
  -l southcentralus \
  --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/emptyRG.json \
  --parameters rgName=demoRG rgLocation=northcentralus
于 2018-11-15T16:55:23.477 回答
3

公认的解决方案是错误的。资源组部署在订阅级别而不是资源组级别。难怪它不起作用。

注意 $schema 的区别。它应该是subscriptionDeploymentTemplate

{
    "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {},
    "functions": [],
    "variables": {},
    "resources": [
        {
            "name": "string",
            "type": "Microsoft.Resources/resourceGroups",
            "apiVersion": "2020-10-01",
            "location": "string",
            "tags": {},
            "properties": {
                                
            }
        }
    ],
    "outputs": {}
}
于 2021-01-28T14:51:15.047 回答
0

是否可以像其他资源一样通过模板创建资源组?

目前,我们不能使用 arm 模板来创建 Azure 资源组。

于 2017-12-06T09:36:20.677 回答
-1

必须使用 subscriptionDeploymentTemplate.json 架构。

于 2020-09-21T15:44:42.907 回答