通过REST API列出Azure虚拟机

max*_*eek 10 rest azure

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

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

mco*_*ier 7

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

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