如何在使用 Azure sdk for java 创建磁盘时设置 VM 生成

问题描述

我没有找到任何设置 VM 生成的选项,默认情况下是 1,但我需要将其更改为 2。
Azure portal create disk

Disk managedDisk = azure.disks().define("myosdisk") .withRegion(Region.US_EAST2) .withExistingResourceGroup("test") .withWindowsFromVhd ("https://abcd.blob.core.windows.net/vm/‘laptop_vm’.vhd") .withSizeInGB(500).withSku(DiskSkuTypes.PREMIUM_LRS).create();

解决方法

您可以使用 hyperVGeneration 设置函数。虚拟机的管理程序生成。仅适用于操作系统磁盘。可能的值包括:'V1'、'V2'

可能调用 withHyperVGeneration('V2');

查看 azure-sdk-java 实现以了解详细信息。

您需要导入 mgmt.compute 库。它可以在下面的 maven artifact 中找到。

<dependency>
  <groupId>com.azure.resourcemanager</groupId>
  <artifactId>azure-resourcemanager</artifactId>
  <version>2.5.0</version>
</dependency>

您可以调用磁盘创建如下

List<String> diskNames = Arrays.asList("myosdisk","myosdisk2");
List<Creatable<Disk>> creatableDisks = diskNames.stream()
    .map(diskName -> azure.disks()
        .define(diskName)
        .withRegion(Region.US_EAST2)
        .withExistingResourceGroup("test")
        .withWindowsFromVhd ("https://abcd.blob.core.windows.net/vm/‘laptop_vm’.vhd")
        .withHyperVGeneration('V2')
        .withData()
        .withSizeInGB(500)
        .withSku(DiskSkuTypes.PREMIUM_LRS)
    .collect(Collectors.toList());
Collection<Disk> disks = azure.disks().create(creatableDisks).values();
azure.disks().deleteByIds(disks.stream().map(Disk::id).collect(Collectors.toList()));

可以在 Github Azure/azure-sdk-for-java 存储库中找到更多信息。

,

这是我找到的解决方法,创建磁盘后,我只是将磁盘更新为 HyperVGeneration.V2

Disk managedDisk = azure.disks().define("myosdisk")
.withRegion(Region.US_EAST2)
.withExistingResourceGroup("umbc")
.withWindowsFromVhd("https://abcd.blob.core.windows.net
/vmimages/‘laptop_vm’.vhd")
.withStorageAccountName("abcd")
.withSku(DiskSkuTypes.PREMIUM_LRS)
.create();
            
             
managedDisk.inner().withHyperVGeneration(HyperVGeneration.V2);
managedDisk.update().apply();

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...