Azure

部署 JSON 模板時出錯

  • April 29, 2020

我正在嘗試使用 Visual Studio 2015 在 avset 中部署兩個 VM。

我嘗試部署時收到以下錯誤消息:

Reference Id 1 is not formatted correctly. The Id is expected to reference resources of type virtualNetworks/subnets. Path properties.ipConfigurations[0].properties.subnet.

完整錯誤:

VERBOSE: 11:43:00 PM - Resource Microsoft.Compute/availabilitySets 'avset-apps2dc' provisioning status is succeeded
New-AzureRmResourceGroupDeployment : 11:43:00 PM - Resource Microsoft.Network/networkInterfaces 'vm-machine2-nic1' failed with message '{
 "error": {
   "code": "InvalidRequestFormat",
   "message": "Cannot parse the request.",
   "details": [
     {
       "code": "InvalidJsonReferenceFormat",
       "message": "Reference Id 1 is not formatted correctly. The Id is expected to reference resources of type virtualNetworks/subnets. Path properties.ipConfigurations[0].properties.subnet."
     }

這真的讓我很難過,我想知道是否有人以前遇到過這個問題?

腳本已經過清理。

模板文件:

{
 "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
 "contentVersion": "1.0.0.0",
 "parameters": {
   "stdAdminUserName": {
     "type": "string",
     "minLength": 1
   },
   "stdAdminPassword": {
     "type": "securestring"
   },
   "storageAccountName": {
     "type": "string",
     "minLength": 1
   },
   "storageAccountType": {
     "type": "string",
     "allowedValues": [
       "Standard_LRS",
       "Standard_GRS"
     ]
   },
   "faultDomains": {
     "type": "int"
   },
   "updateDomains": {
     "type": "int"
   },
   "applicationid": {
     "type": "string",
     "minLength": 1
   },
   "sharedservice": {
     "type": "string",
     "minLength": 1
   },
   "msdref": {
     "type": "string",
     "minLength": 1
   },
   "project": {
     "type": "string",
     "minLength": 1
   },
   "costcentre": {
     "type": "string",
     "minLength": 1
   },
   "templateref": {
     "type": "string",
     "minLength": 1
   },
   "environment": {
     "type": "string",
     "minLength": 1
   },
   "operatingsystem": {
     "type": "string",
     "minLength": 1
   },
   "deploymentzone": {
     "type": "string",
     "minLength": 1
   },
   "shutdownschedule": {
     "type": "string",
     "minLength": 1
   },
   "avSetName": {
     "type": "string",
     "minLength": 1
   },
   "vmInstances": {
     "type": "int"
   },
   "vmSize": {
     "type": "string",
     "minLength": 1
   },
   "vmDiskSize": {
     "type": "string",
     "minLength": 1
   },
   "networkName": {
     "type": "string",
     "minLength": 1
   },
   "networkResourceGroup": {
     "type": "string",
     "minLength": 1
   },
   "subnetName": {
     "type": "string",
     "minLength": 1
   },
   "vmNicNamePrefix": {
     "type": "string",
     "minLength": 1
   },
   "vmNamePrefix": {
     "type": "string",
     "minLength": 1
   }
 },
 "variables": {
   "VNetID": "[resourceId(Parameters('networkResourceGroup'), 'Microsoft.Network/virtualNetworks', Parameters('networkname'))]",
   "SubnetRef": "[concat(variables('VNetID'), '/subnets/', Parameters('subnetName'))]",
   "stdVMImagePublisher": "MicrosoftWindowsServer",
   "stdVMImageOffer": "WindowsServer",
   "stdWindowsOSVersion": "2012-R2-Datacenter",
   "stdVHDContainerName": "vhds",
   "VMOSDiskNamePrefix": "VMOSDisk",
   "VMDATADisk1NamePrefix": "DataDisk1VM",
   "VMDATADisk2NamePrefix": "DataDisk2VM"
 },
 "resources": [
   {
     "name": "[Parameters('storageAccountName')]",
     "type": "Microsoft.Storage/storageAccounts",
     "location": "[resourceGroup().location]",
     "apiVersion": "2015-06-15",
     "dependsOn": [],
     "tags": {
       "displayname": "[Parameters('storageAccountName')]",
       "applicationid": "[Parameters('applicationid')]",
       "sharedservice": "[Parameters('sharedservice')]",
       "msdref": "[Parameters('msdref')]",
       "project": "[Parameters('project')]",
       "costcentre": "[Parameters('costcentre')]",
       "operatingsystem": "[Parameters('operatingsystem')]",
       "deploymentzone": "[Parameters('deploymentzone')]",
       "shutdownschedule": "[Parameters('shutdownschedule')]"
     },
     "properties": {
       "accountType": "[Parameters('storageAccountType')]"
     }
   },
   {
     "name": "[parameters('avSetName')]",
     "type": "Microsoft.Compute/availabilitySets",
     "location": "[resourceGroup().location]",
     "apiVersion": "2015-06-15",
     "dependsOn": [],
     "tags": {
       "displayName": "[parameters('avSetName')]"
     },
     "properties": {
       "platformUpdateDomainCount": "[parameters('updateDomains')]",
       "platformFaultDomainCount": "[parameters('faultDomains')]"
     }
   },
   {
     "name": "[concat(Parameters('vmNicNamePrefix'), copyindex(1))]",
     "type": "Microsoft.Network/networkInterfaces",
     "location": "[resourceGroup().location]",
     "apiVersion": "2015-06-15",
     "copy": {
       "name": "nicLoop",
       "count": "[parameters('vmInstances')]"
     },
     "tags": {
       "costcenter": "[Parameters('costcentre')]",
       "environment": "[Parameters('environment')]",
       "project": "[Parameters('project')]",
       "role": "vmnic",
       "templateref": "[Parameters('templateRef')]"
     },
     "properties": {
       "ipConfigurations": [
         {
           "name": "ipconfig1",
           "properties": {
             "privateIPAllocationMethod": "Dynamic",
             "subnet": {
               "id": "[parameters('vmInstances')]"
             }
           }
         }
       ]
     }
   },
   {
     "name": "[concat(parameters('vmInstances'), copyindex(1))]",
     "type": "Microsoft.Compute/virtualMachines",
     "location": "[resourceGroup().location]",
     "apiVersion": "2015-06-15",
     "dependsOn": [
       "[concat('Microsoft.Storage/storageAccounts/', Parameters('storageAccountName'))]",
       "[concat('Microsoft.Compute/availabilitySets/', Parameters('avSetName'))]",
       "nicLoop"
     ],
     "copy": {
       "name": "virtualMachineLoop",
       "count": "[parameters('vmInstances')]"
     },
     "tags": {
       "applicationid": "[Parameters('applicationid')]",
       "costcentre": "[Parameters('costcentre')]",
       "deploymentzone": "[Parameters('deploymentzone')]",
       "displayname": "[concat(parameters('vmInstances'), copyindex(1))]",
       "environment": "[Parameters('environment')]",
       "msdref": "[Parameters('msdref')]",
       "operatingsystem": "[Parameters('operatingsystem')]",
       "project": "[Parameters('project')]",
       "sharedservice": "[Parameters('sharedservice')]"
     },
     "properties": {
       "availabilitySet": {
         "id": "[resourceId('Microsoft.Compute/availabilitySets',parameters('avSetName'))]"
       },
       "hardwareProfile": {
         "vmSize": "[Parameters('vmSize')]"
       },
       "osProfile": {
         "computerName": "[concat(parameters('vmInstances'), copyindex(1))]",
         "adminUsername": "[Parameters('stdAdminUserName')]",
         "adminPassword": "[Parameters('stdAdminPassword')]"
       },
       "storageProfile": {
         "imageReference": {
           "publisher": "[variables('STDVMImagePublisher')]",
           "offer": "[variables('STDVMImageOffer')]",
           "sku": "[variables('stdWindowsOSVersion')]",
           "version": "latest"
         },
         "osDisk": {
           "name": "[concat(variables('VMOSDiskNamePrefix'), copyindex(1))]",
           "vhd": {
             "uri": "[concat('http://', Parameters('storageAccountName'), '.blob.core.windows.net/', variables('stdVHDContainerName'), '/', variables('VMOSDiskNamePrefix'), copyindex(1), '.vhd')]"
           },
           "caching": "ReadWrite",
           "createOption": "FromImage"
         },
         "networkProfile": {
           "networkInterfaces": [
             {
               "id": "[resourceId('Microsoft.Network/networkInterfaces', concat(Parameters('vmNicNamePrefix'), copyindex(1)))]"
             }
           ]
         }

       },
       "outputs": {
       }
     }
   }
 ]
}

參數文件:

{
 "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
 "contentVersion": "1.0.0.0",
 "parameters": {
   "stdAdminUserName": {
     "value": "localadministrator"
   },
   "storageAccountName": {
     "value": "straccforvhdsnstuff1234"
   },
   "storageAccountType": {
     "value": "Standard_LRS"
   },
   "faultDomains": {
     "value": 2
   },
   "updateDomains": {
     "value": 5
   },
   "applicationid": {
     "value": "test-apps2"
   },
   "sharedservice": {
     "value": "No"
   },
   "msdref": {
     "value": "123456"
   },
   "project": {
     "value": "test-apps2"
   },
   "costcentre": {
     "value": "ab1234"
   },
   "operatingsystem": {
     "value": "Windows 2012-R2-Datacenter"
   },
   "deploymentzone": {
     "value": "safe-zone"
   },
   "avSetName": {
     "value": "avset-apps2dc"
   },
   "vmInstances": {
     "value": 1
   },
   "vmSize": {
     "value": "Standard_D3_V2"
   },
   "vmDiskSize": {
     "value": "256"
   },
   "networkName": {
     "value": "vnet-network"
   },
   "networkResourceGroup": {
     "value": "rgp-for-network"
   },
   "subnetName": {
     "value": "subnettest-app2"
   },
   "vmNicNamePrefix": {
     "value": "vm-machine2-nic"
   },
   "vmNamePrefix": {
     "value": "vm-machine2-"
   },
   "templateref": {
     "value": "tempref123"
   },
   "environment": {
     "value": "green"
   },
   "shutdownschedule": {
     "value": "notapp"
   }
 }
}

我已經通過線上驗證器執行 JSON 並且沒有突出顯示任何問題,根據VS2015. 但是,部署失敗“參考 1 格式不正確”

還有一點,不確定它的應用程度,網路資源組獨立於 VM 資源組。

您的模板中有錯誤。

"subnet": {
               "id": "[parameters('vmInstances')]"
             }

id 不應該是1.

你可以使用價值:

 "id": "[variables('SubnetRef')]"

引用自:https://serverfault.com/questions/883291