簡體   English   中英

通過REST API列出Azure虛擬機

[英]List Azure Virtual Machines via REST API

我目前正在嘗試以編程方式獲取我在Windows Azure訂閱下運行的所有虛擬機的列表。 為此,我嘗試使用Azure REST API( https://management.core.windows.net ),而不是使用power-shell cmdlet。

使用cmdlet,我可以運行“Get-AzureVM”並獲取所有具有ServiceName,Name和Status的VM的列表,而無需任何修改。 問題是我在文檔中找不到如何通過API列出VM。

我查看了各種Azure REST API,但一直無法找到任何內容。 VM REST API的文檔未顯示或提供列表功能。

我錯過了某個地方的基本面嗎?

// Create the request.
            // https://management.core.windows.net/<subscription-id>/services/hostedservices
            requestUri = new Uri("https://management.core.windows.net/"
                                 + subscriptionId 
                                 + "/services/" 
                                 + operation);

這就是我用於請求的基礎。 我可以獲得托管服務的列表,但不能獲得虛擬機。

您需要獲取所有雲服務(托管服務)的列表,然后獲取每個服務的部署屬性。 在生產環境/插槽中查找部署。 然后檢查角色類型“PersistentVMRole”。

虛擬機實際上只是一種雲服務,還有Web和輔助角色。 Windows Azure管理門戶和PowerShell cmdlet將其抽象化,使事情更容易理解和查看。

按照以下步驟列出VM:

  1. 使用以下ListHostedServices列出HostedServices
  2. 對於上面的每個服務,a)按環境進行部署 (生產或登台)。 或b)按名稱獲取部署。
  3. 在任何一種情況下,獲取Deployment.getRoleInstanceList()。getRoleInstance()。getInstanceName()的值。

您可以使用Azure節點SDK列出訂閱中的所有VM

computeClient.virtualMachines.listAll(function(err,result))

有關Azure Node SDK的更多詳細信息,請訪問: https//github.com/Azure-Samples/compute-node-manage-vm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM