【问题标题】:Nested ARM template has incorrect segment lengths嵌套 ARM 模板的段长度不正确
【发布时间】:2018-10-30 21:28:32
【问题描述】:

我在第 '1' 行和第 '181' 列中收到“类型 'Microsoft.Network/virtualNetworks/subnets' 的模板资源 'testing' 的段长度不正确。”尝试部署我的 ARM 模板时出现错误消息。有什么想法可能有什么问题吗?

{
  "apiVersion": "2017-08-01",
  "name": "nestedTemplate",
  "type": "Microsoft.Resources/deployments",
  "resourceGroup" : "[variables('ResourceGroupName')]",
  "dependsOn": [
    "[resourceId('Microsoft.Network/networkSecurityGroups', variables('NSGName'))]"
  ],
  "properties": {
    "mode" : "Incremental",
    "template": {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "resources": [
        {
          "apiVersion" : "2018-03-01",
          "type": "Microsoft.Network/virtualNetworks/subnets",
          "name": "[parameters('subnetName')]",
          "location": "[resourceGroup().location]",
          "properties": {
            "addressPrefix": "[reference(resourceId(variables('ResourceGroupName'), 'Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworkName'), parameters('subnetName')), '2018-03-01').addressPrefix]",
            "networkSecurityGroup": {
              "id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('NSGName'))]"
            }
          }
        },
      ]
    }
  }
}

【问题讨论】:

    标签: azure arm-template


    【解决方案1】:

    是的,这告诉您您的资源类型是 parent-resource/sub-resource,而您的名字只是 sub-resource-name,它应该是 parent-resource-name/sub-resource-name。

    否则它将无法知道在哪里创建子网(它无法在不知道将其放入哪个 vnet 的情况下创建子网)。

    【讨论】:

    • 我不想创建子网。此模板应创建 NSG 并更新子网以使用它。我应该在哪里添加该 vnet?
    • 您不应该添加 vnet,您应该更改名称以使其格式正确。所以你的名字应该是 vnetname/subnetname 就像我告诉你的那样
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 2019-10-28
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多