我使用带有一些 Groovy 代码的 aws Java SDK。
我已经启动了 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 控制台,我从未获得终止状态,我可以看到这些实例被终止......这里发生了什么?为什么我从来没有收到终止返回的状态?
谢谢