2016-08-25 66 views
0

我正在使用Azure ARM Java SDK,并执行操作启动和停止VM。我无法得到答复。如何获得Azure ARM java SDk启动和停止VM的响应?

 try{ 
      VirtualMachine vm=azure.virtualMachines().getByGroup("resourceGroup", "vmNAme"); 
      vm.start(); 
    }catch(CloudException| IllegalArgumentException| IOException|InterruptedException e){ 

      System.out.println(e.getMessage()); 
    } 

使用VM.start();是一个系统调用。 在Azure ASM能够通过获得getVirtualMachinesOperations()方法。

有什么方法可以得到答复?

回答

0

你可以从文件启动/重新启动/停止通话时看到仅返回状态代码:https://msdn.microsoft.com/en-us/library/azure/mt163628.aspx

因此,启动/停止/启动功能在Java SDK无效。

您可以在VirtualMachineInstanceView:VirtualMachineInstanceView vmInstanceView = vm.refreshInstanceView();VirtualMachineInstanceView vmInstanceView = vm.instanceView();中找到有关虚拟机状态的信息,以优化某些呼叫。

+0

它在** vm.start()**处执行操作。是的,我们可以在另一个电话上获得虚拟机的状态。有没有办法在同一个电话上获得状态(当我们打开/关闭虚拟媒体时)。 –

+0

@PawanSharma我没有看到任何其他选项,但您可以在这里查看VirtualMachine类的实现代码:https://github.com/Azure/azure-sdk-for-java/blob/08bd17840669bc3f235235dc270a822be852a2d5/azure-mgmt-compute /src/main/java/com/microsoft/azure/management/compute/implementation/VirtualMachinesImpl.java –

+0

@PawanSharma还有Azure Insights包含有关操作的所有详细信息:https://msdn.microsoft.com/en-us /library/azure/dn931934.aspx,但你应该通过你自己的原因实现这些调用,在Azure Java SDK中没有这个类 –

0

@PawanSharma,根据你的代码,我知道你正在使用Azure SDK for Java版本1.0.0-beta。如果您希望按照您的意愿获得启动/停止呼叫的状态,我认为方法是直接将REST API与HTTP客户端一起使用,或者返回SDK版本0.9以从函数VirtualMachineOperations.start/startAsync获取ComputeLongRunningOperationResponse

希望它有帮助。