我目前正在尝试以编程方式获取我在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);
这就是我用于请求的基础。我可以获得托管服务的列表,但不能获得虚拟机。
答案 0 :(得分:7)
您需要获取所有云服务(托管服务)的列表,然后获取每个服务的部署属性。在生产环境/插槽中查找部署。然后检查角色类型“PersistentVMRole”。
虚拟机实际上只是一种云服务,还有Web和辅助角色。 Windows Azure管理门户和PowerShell cmdlet将其抽象化,使事情更容易理解和查看。
答案 1 :(得分:2)
按照以下步骤列出虚拟机:
答案 2 :(得分:1)
您可以使用Azure节点SDK列出您的订阅中的所有VM
computeClient.virtualMachines.listAll(函数(错误,结果))
有关Azure Node SDK的更多详细信息,请访问:https://github.com/Azure-Samples/compute-node-manage-vm