如何以编程方式获取Windows Azure中的虚拟机列表

时间:2014-02-12 19:50:03

标签: c# azure virtual-machine virtual

我正在尝试编写一个应用程序,列出Azure上所有VM的状态及其状态(运行/未运行)。我可以使用以下代码获取所有云服务及其名称的列表...

var x = from h in _computeManagementClient.HostedServices.List() select h;

foreach (var item in x)
{
    //item.Properties.Label is the name of the service
}

是否有类似的方法可以用来列出虚拟机及其状态?如果可能的话,我宁愿不使用REST API。

1 个答案:

答案 0 :(得分:1)

通过VM,我认为你的意思是角色实例?

您可以通过部署了解他们。

var instances = _computeManagementClient.Deployments.GetBySlot(serviceName, DeploymentSlot.Production).RoleInstances;

这将返回Microsoft.WindowsAzure.Management.Compute.Models.RoleInstance的集合,您可以从中获取状态信息等。

RoleInstance的文档:

http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.management.compute.models.roleinstance.aspx