有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法从Scaleset获取虚拟机列表

我们使用的是azure-mgmt-compute-1.3.0。jar(Azure SDK)要从我们的帐户中发现VMscaleset并inturn查找VMscaleset下的VM列表,我们可以获取VMscaleset,但无法获取scaleset下的VM列表,这部分是否有任何更改

下面是我们正在尝试的Java代码

ComputeManager compMgr = ComputeManager.authenticate(credentials, 'Subscritpion Number');
PagedList list = compMgr.virtualMachineScaleSets().list();
for (VirtualMachineScaleSet virtualMachineScaleSet : list)
{
System.out.println(virtualMachineScaleSet.name());

//Not working
PagedList pagedList = virtualMachineScaleSet.virtualMachines().list();
//Here size of pagedList is always 0

}

共 (1) 个答案

  1. # 1 楼答案

    PagedList pagedList = virtualMachineScaleSet.virtualMachines().list(); //Here size of pagedList is always 0

    根据我的测试,你的代码应该可以工作。如果页面列表的大小为0,则表示VirtualMachineScalet中没有实例。你可以在Azure门户网站上查看

    下面是我的测试代码

    String client = "client Id";
    String tenant = "tenant Id";
    String key = "secret key";
    String subscription = "subscription Id";
    ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(client,
                    tenant,
                    key,
                    AzureEnvironment.AZURE);
    ComputeManager compMgr = ComputeManager.authenticate(credentials, subscription);
    PagedList<VirtualMachineScaleSet> list = compMgr.virtualMachineScaleSets().list();
    for (VirtualMachineScaleSet virtualMachineScaleSet : list)
    {
       System.out.println(virtualMachineScaleSet.name());
       PagedList pagedList = virtualMachineScaleSet.virtualMachines().list();
       System.out.println(pagedList.size());
     }
    

    Test Result