通过REST API列出Azure虚拟机

rest azure

8930 观看

3回复

68 作者的声誉

我目前正在尝试以编程方式获取我在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);

这就是我用于请求的基础。我可以获得托管服务的列表,但不能获得虚拟机。

作者: maximumgeek 的来源 发布者: 2013 年 5 月 22 日

回应 (3)


7

3577 作者的声誉

您需要获取所有云服务(托管服务)的列表,然后获取每个服务的部署属性。在生产环境/插槽中查找部署。然后检查角色类型“PersistentVMRole”。

虚拟机实际上只是一种云服务,还有Web和辅助角色。Windows Azure管理门户和PowerShell cmdlet将其抽象化,使事情更容易理解和查看。

作者: mcollier 发布者: 22.05.2013 02:08

2

21 作者的声誉

按照以下步骤列出VM:

  1. 使用以下ListHostedServices列出HostedServices
  2. 对于上面的每个服务,a)按环境进行部署(生产或登台)。或b)按名称获取部署。
  3. 在任何一种情况下,获取Deployment.getRoleInstanceList()。getRoleInstance()。getInstanceName()的值。
作者: Raghu G 发布者: 08.08.2013 06:14

0

608 作者的声誉

您可以使用Azure节点SDK列出订阅中的所有VM

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

有关Azure Node SDK的更多详细信息,请访问:https//github.com/Azure-Samples/compute-node-manage-vm

作者: Karishma Tiwari - MSFT 发布者: 01.03.2019 12:18
32x32