簡體   English   中英

Azure ARM模板添加第二個磁盤

[英]Azure ARM Template add second disk

我想基於“ userImageStorageAccountName”添加第二個磁盤的模板選項,直到第二次嘗試添加第二個磁盤,然后當我嘗試部署Vm時,我的模板才出現問題:

Blockquote {“ code”:“ StorageAccountAlreadyExists”,“ message”:“在訂閱下已存在名為TEST的存儲帳戶。”}}

但我的目標是在該存儲帳戶中創建我不想創建新的存儲帳戶

順便說一句,您是否有一個不錯的文檔來為假人創建模板:D

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "0.0.4.0",
"parameters": {

    "VM_name": {
        "type": "string",
        "minLength": 11,
        "maxLength": 12,
        "defaultValue": "testxxx0021",
        "metadata": {
            "description": "Hostnem+dns name"
        }
    },
    "VM_Class": {
        "type": "string",
        "allowedValues": [
            "Standard_A1",
            "Standard_A2",
            "Standard_A3"
        ],
        "defaultValue": "Standard_A2",
        "metadata": {
            "description": "type VM"
        }

    },
    "sizeOfEachDataDiskInGB": {
        "type": "string",
        "defaultValue": "20",
        "metadata": {
            "description": "Size of each data disk in GB"
        }
    },


    "userImageStorageAccountName": {
        "type": "string",
        "defaultValue": "TEST",
        "metadata": {
            "description": "Storage account for machine"
        }
    },
    "Windows_template": {
        "type": "string",
        "allowedValues": [
            "https://TEST.blob.core.windows.net/system/Microsoft.Compute/Images/xxxxxxxx/template-dddosDisk.vhd",
            "https://TEST.blob.core.windows.net/testtemp/xxxxxxx.vhd",
            "https://TEST.blob.core.windows.net/testtemp/template-xxxxx.vhd"
        ],
        "defaultValue": "https://TEST.blob.core.windows.net/TESTtemp/template-xxxxxxxxx.vhd",
        "metadata": {
            "description": "Uri of the your user image"
        }


    },
    "adminUserName": {
        "type": "securestring",
        "defaultValue": "testadmin",
        "metadata": {
            "description": "UserName for the Virtual Machine"
        }

    },
    "adminPassword": {
        "type": "securestring",

        "metadata": {
            "description": "Password for the Virtual Machine"
        }
    },
    "osType": {
        "type": "string",
        "allowedValues": [
            "Windows",
            "Linux"
        ],
        "defaultValue": "Windows",

        "metadata": {
            "description": "This is the OS that your VM will be running"
        }
    }

},
"variables": {
    "location": "[resourceGroup().location]",
    "vmName": "[parameters('VM_name')]",
    "virtualNetworkName": "xx.xxx.xxx.0-xx-vnet",
    "nicName": "[parameters('VM_name')]",
    "addressPrefix": "xx.xxx.xxx.0/22",
    "subnet1Name": "xx.xxx.xxx.0-xx-vnet",
    "subnet1Prefix": "xx.xxx.xxx.0/24",
    "vmStorageAccountContainerName": "vhds",
    "storageAccountType": "Standard_LRS",
    "storageAccountName": "[parameters('userImageStorageAccountName')]",
    "vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkName'))]",
    "subnet1Ref": "[concat(variables('vnetID'),'/subnets/',variables('subnet1Name'))]",
    "osDiskVhdName": "[concat('http://',parameters('userImageStorageAccountName'),'.blob.core.windows.net/vhds/',variables('vmName'),'osDisk.vhd')]",
    "apiVersion": "2015-06-15",
     "dataDisk1VhdName": "[concat('http://',variables('storageAccountName'),'.blob.core.windows.net/',variables('vmStorageAccountContainerName'),'/',variables('vmName'),'dataDisk1.vhd')]"
},
"resources": [

    {
        "type": "Microsoft.Storage/storageAccounts",
        "name": "[variables('storageAccountName')]",
        "apiVersion": "[variables('apiVersion')]",
        "location": "[variables('location')]",
        "properties": {
            "accountType": "[variables('storageAccountType')]"
        }
    },
    {
        "apiVersion": "[variables('apiVersion')]",
        "type": "Microsoft.Network/virtualNetworks",
        "name": "[variables('virtualNetworkName')]",
        "location": "[variables('location')]",
        "properties": {
            "addressSpace": {
                "addressPrefixes": [
                    "[variables('addressPrefix')]"
                ]
            },
            "subnets": [
                {
                    "name": "[variables('subnet1Name')]",
                    "properties": {
                        "addressPrefix": "[variables('subnet1Prefix')]"
                    }
                }
            ]
        }
    },
    {
        "apiVersion": "[variables('apiVersion')]",
        "type": "Microsoft.Network/networkInterfaces",
        "name": "[variables('nicName')]",
        "location": "[variables('location')]",
        "dependsOn": [

            "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]"
        ],
        "properties": {
            "ipConfigurations": [
                {
                    "name": "ipconfig1",
                    "properties": {
                        "privateIPAllocationMethod": "Dynamic",

                        "subnet": {
                            "id": "[variables('subnet1Ref')]"
                        }
                    }
                }
            ]
        }
    },
    {
        "apiVersion": "[variables('apiVersion')]",
        "type": "Microsoft.Compute/virtualMachines",
        "name": "[variables('vmName')]",
        "location": "[variables('location')]",
        "dependsOn": [

            "[concat('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
        ],
        "properties": {
            "hardwareProfile": {
                "vmSize": "[parameters('VM_Class')]"
            },

            "osProfile": {
                "computerName": "[variables('vmName')]",
                "adminUsername": "[parameters('adminUsername')]",
                "adminPassword": "[parameters('adminPassword')]"
            },
            "storageProfile": {
                "osDisk": {
                    "name": "[concat(variables('vmName'),'-osDisk')]",
                    "osType": "[parameters('osType')]",
                    "caching": "ReadWrite",
                    "createOption": "FromImage",
                    "image": {
                        "uri": "[parameters('Windows_template')]"
                    },
                    "vhd": {
                        "uri": "[variables('osDiskVhdName')]"
                    }
                }
            },

            "dataDisks": [
                {
                    "name": "datadisk1",
                    "diskSizeGB": "[parameters('sizeOfEachDataDiskInGB')]",
                    "lun": 0,
                    "vhd": {
                        "Uri": "[variables('dataDisk1VhdName')]"
                    },
                    "createOption": "Empty"
                }
            ],
            "networkProfile": {
                "networkInterfaces": [
                    {
                        "id": "[resourceId('Microsoft.Network/networkInterfaces',variables('nicName'))]"
                    }
                ]
            },
            "diagnosticsProfile": {
                "bootDiagnostics": {
                    "enabled": "true",
                    "storageUri": "[concat('http://',parameters('userImageStorageAccountName'),'.blob.core.windows.net')]"
                }
            }
        }
    }
]
    }

尋求幫助

查看JSON,您正在請求平台要求用戶提供一個新的存儲帳戶。 要使用現有的存儲帳戶,您可以參考現有參數來提供。

原始JSON:

"dataDisk1VhdName": "[concat('http://',variables('storageAccountName'),'.blob.core.windows.net/',variables('vmStorageAccountContainerName'),'/',variables('vmName'),'dataDisk1.vhd')]"

建議的JSON

"dataDisk1VhdName": "[concat('http://',parameters('userImageStorageAccountName'),'.blob.core.windows.net/',variables('vmStorageAccountContainerName'),'/',variables('vmName'),'dataDisk1.vhd')]"

希望這可以幫助。

檢查存儲帳戶標記是否已被其他人通過Azure / PowerShell門戶更改 ,並且與ARM模板上指定的標記不同。

聽起來像是ARM部署系統上的錯誤,標簽應該能夠更新,但是當前存儲帳戶資源失敗。

有關更多信息,請參見http://davidjrh.intelequia.com/2016/07/the-storage-account-already-exists.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM