本文内容
问题描述
我们可以通过使用 Azure ARM SDK 来管理 Azure 上的资源,因此我们也可以通过 SDK 来创建 ARM 类型的虚拟机,当我们使用 1.0.0 版本的 Azure SDK for Java 来创建 ARM 虚拟时,会遇到如下错误:
复制
com.microsoft.azure.CloudException: Managed Disks are not supported in this region。
问题分析
使用版本 1.0.0 之前的 SDK 如 -beta3 来创建虚拟机是使用基于 storage account (OS and Data) disk,但是随后有了 managed disks,因此 1.0.0 版本的 SDK 是通过 managed disks 来创建的虚拟机。
目前中国区域的 1.0.0 版本的 SDK 还不支持 managed disks,所以出现了下面的报错。我们目前正在积极推进相关功能在中国区域的上线。
解决方案
可以通过使用withUnmanagedDisks()来定义创建虚拟机,可以参考链接。
例如:
复制
VirtualMachine windowsVM = azure.virtualMachines().define(vmName)
.withRegion(vmRegion)
.withNewResourceGroup(resourceGroupName)
.withNewPrimaryNetwork("10.0.0.0/28")
.withPrimaryPrivateIPAddressDynamic()
.withoutPrimaryPublicIPAddress()
.withPopularWindowsImage(KnownWindowsVirtualMachineImage.WINDOWS_SERVER_2012_R2_DATACENTER)
.withAdminUsername(vmUserName)
.withAdminPassword(vmPassword)
.withUnmanagedDisks()
.withSize(VirtualMachineSizeTypes.STANDARD_D3_V2)
.create();
立即访问http://market.azure.cn