的EC2实例的Java API获取状态 [英] Getting state of EC2 instance Java API

查看:136
本文介绍了的EC2实例的Java API获取状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想自动在AWS上的一些东西,我使用的Java API来做到这一点。我能够启动实例我想要的数字,但我无法找到正确的类或方法,可以给我拿实例的当前状态(如运行,停止等)。

I am trying to automate some stuff on AWS and I am using Java API to do this. I am able to launch number of instances I want, but I am unable to find the right class or method that can fetch me the current state of the instance (like running, stopped etc).

我想这

DescribeInstanceStatusRequest describeInstance =新DescribeInstanceStatusRequest()withInstanceIds(instances.get(我).getInstanceId())。 DescribeInstanceStatusResult ATTR = ec2.describeInstanceStatus(describeInstance); 名单< InstanceStatus>状态= attr.getInstanceStatuses();

DescribeInstanceStatusRequest describeInstance = new DescribeInstanceStatusRequest().withInstanceIds(instances.get(i).getInstanceId()); DescribeInstanceStatusResult attr = ec2.describeInstanceStatus(describeInstance); List<InstanceStatus> state = attr.getInstanceStatuses();

不知道为什么实例状态是一个列表

not sure why the instance status is a list

有人可以请点我到正确的API调用。

Can someone please point me to right API call.

在此先感谢

推荐答案

我想这个问题。工作code

I figured the issue. working code

DescribeInstanceStatusRequest describeInstanceRequest = new DescribeInstanceStatusRequest().withInstanceIds(i-xxxxxxxx);
DescribeInstanceStatusResult describeInstanceResult = ec2.describeInstanceStatus(describeInstanceRequest);
List<InstanceStatus> state = describeInstanceResult.getInstanceStatuses();
while (state.size() < 1) { 
    // Do nothing, just wait, have thread sleep if needed
    describeInstanceResult = ec2.describeInstanceStatus(describeInstanceRequest);
    state = describeInstanceResult.getInstanceStatuses();
}
String status = state.get(0).getInstanceState().getName();

这篇关于的EC2实例的Java API获取状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆