无法从Scaleset获取虚拟机列表

时间:2018-07-10 12:11:28

标签: java azure

我们使用azure-mgmt-compute-1.3.0.jar(Azure SDK)从我们的帐户中发现VMscaleset,并反过来在VMSCaleset下找到了VM列表,我们能够获得VMscaleset,但无法获取比例尺下的VMS列表,这部分是否做任何更改。

下面是我们正在尝试的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 个答案:

答案 0 :(得分:0)

  

PagedList pagedList = virtualMachineScaleSet.virtualMachines()。list();   // pagedList的大小始终为0

根据我的测试,您的代码应该可以正常工作。如果获得的pagedList大小为0,则意味着virtualMachineScaleSet中没有实例。您可以从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