gpt4 book ai didi

java - 终止实例永远不会返回终止状态 aws sdk

转载 作者:行者123 更新时间:2023-11-30 04:09:54 25 4
gpt4 key购买 nike

我正在使用 aws Java SDK 和一些 Groovy 代码。

我启动了 2 个 ec2 实例,然后请求终止它们。然后,我想等到这些实例终止,然后再删除依赖于这些实例的其他资源。

我有以下代码检查实例的终止。 (while 循环永远不会退出)

//instanceIds == a list of instance ids as strings. Ive previously requested that these instances be terminated     
//Terminate instances
TerminateInstancesRequest terminateInstancesRequest = new TerminateInstancesRequest()
terminateInstancesRequest.setInstanceIds(instanceIds)
TerminateInstancesResult terminateInstancesResult = ec2.terminateInstances(terminateInstancesRequest)

//Wait for instances to terminate
terminateInstancesResult.getTerminatingInstances().each {

while (it.getCurrentState().name != "terminated") {
Thread.sleep(5000)
println it.getCurrentState().name
println it.getCurrentState().code
}

}

我将以下内容打印到控制台

shutting-down
32
shutting-down
32
etc..

例如我从未获得终止状态,但如果我登录到 aws 控制台,我可以看到这些实例已终止...这里发生了什么?为什么我从未获得终止返回状态?

谢谢

最佳答案

您需要刷新状态。使用从终止返回的实例作为 ec2.describeInstances() 的输入。然后,您可以检查所描述实例的状态以确定它们何时完成终止。

关于java - 终止实例永远不会返回终止状态 aws sdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19883279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com