2016-08-25 51 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

希望它有幫助。