我使用azure-storage-java从java应用程序上传vhd页面blob到我的存储帐户。但是要使用ARM模板创建虚拟机,vhd应该注册为镜像或磁盘,以便在创建vm时显示在图片库中。是否有任何从blob中创建图像的例子,以编程方式使用azure-sdk-for-java?
有一个使用Azure SDK for Java创建虚拟机的示例,请参见https://github.com/Azure/azure-sdk-for-java/blob/0.9/azure-mgmt-samples/src/main/java/com/microsoft/azure/samples/compute/CreateVMExample.java。
要理解示例,请参见官方文章"Azure Resource Manager SDK for Java"
中的"创建虚拟机"一节。
作为参考,您可以参考GitHub上的这些源代码,以了解示例代码中的帮助类,例如ComputerHelper
&ResourceContext
.
坦率地说,目前Azure没有SDK/API
来将VHD
转换为ARM中的Image
。我们可以在Azure Portal或使用Powershell上操作它。另一种方法是,我们可以使用Create VM Image REST API
在映像存储库中创建VM映像,该映像存储库使用一组指定的虚拟硬盘(https://msdn.microsoft.com/en-us/library/azure/dn775054.aspx)与指定的订阅关联。您可以在项目中使用Java代码调用此REST API。然后使用彼得潘的代码示例来创建您的VM。