从现有已有数据磁盘的映像在Azure中创建VM时,我可以通过ARM模板添加其他数据磁盘吗?

问题描述

我正在使用现有映像通过ARM模板在Azure中创建VM。该映像已经有一个数据磁盘。我正在尝试在创建VM时通过ARM模板添加其他数据磁盘。我可以这样做吗?我收到以下列出的错误:-

Can not add property datadisks to Newtonsoft.Json.Linq.JObject. Property with the same name already exists on object

解决方法

好吧,如果您的映像已经有数据磁盘,那么在通过ARM模板创建VM时,还需要为现有数据磁盘配置datadisk块。只需将createOption设置为值fromImage。然后照常设置其他数据磁盘。例如,您的映像有一个数据磁盘,并且还需要附加另一个数据磁盘,那么dataDisk块将如下所示:

"dataDisks": [
    {
        "lun": 0,"createOption": "fromImage","caching": "ReadOnly","writeAcceleratorEnabled": false,"id": null,"name": null,"storageAccountType": "Premium_LRS","diskSizeGB": null,"diskEncryptionSet": null
    },{
        "lun": 1,"createOption": "attach","caching": "None","name": "azurevm_DataDisk_1","storageAccountType": null,"diskEncryptionSet": null
    }
]

这只是一个示例,您可以根据需要更改值,最重要的是createOption。第一个是用于现有数据磁盘的,具有相同类型,其他内容也应与映像中的相同。