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