当前位置:  开发笔记 > 编程语言 > 正文

如何使用EC2 api来告诉实例状态?

如何解决《如何使用EC2api来告诉实例状态?》经验,为你挑选了1个好方法。

在AWS控制台中,您可以查看哪些实例处于联机状态,正在关闭的实例以及关闭的实例.我正在尝试在我的应用程序中复制此功能,但EC2 api似乎没有合作.

这是我正在做的事情:

            DescribeInstanceStatusRequest rr=new DescribeInstanceStatusRequest();
            rr.InstanceIds=new List(new[]{instanceId});
            var status = ec2.DescribeInstanceStatus(rr);
            List statusses = new List();
            foreach (var s in status.InstanceStatuses)
            {
                if (s.InstanceId == instanceId)
                {
                    statusses.Add(s);
                }
            }
            if (statusses.Any())
            {
                var instanceStatus = statusses.First();
                ...
            }

当实例在线时,这可以正常工作,但是一旦我请求关闭它,实例就会从信息中消失.

如何获取所有实例的信息,包括关闭,关闭和终止的实例?



1> Anthony Neac..:

默认情况下,DescribeInstanceStatus仅捕获正在运行的实例.您可以将IncludeAllInstances请求中的属性设置为true以更改此设置.从文档:

IncludeAllInstances

如果为true,则包括所有实例的运行状况.如果为false,则仅包括运行实例的运行状况.

默认值:false

代码示例:

DescribeInstanceStatusRequest rr = new DescribeInstanceStatusRequest()
{
    IncludeAllInstances = true
};

参考:

AWS文档 - DescribeInstanceStatusRequest

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有