本文介绍了的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获取状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-28 05:43
查看更多