我在 EC2 客户端上使用 run_instances
方法创建了一个实例。
我想检查实例是否正在运行。
一种方法是使用 describe_instances
方法并解析响应对象。
我想定期检查实例状态,直到实例状态为 :running
。有人知道该怎么做吗?
有没有比解析响应对象更简单的方法?
(我不能使用 fog
gem,因为它不允许我在 VPC 中创建实例)
最佳答案
v2 aws-sdk
gem 附带服务员。这些允许您安全地轮询资源以进入所需状态。他们有合理的限制,并且会在引发服务员失败错误一段时间后停止等待。您可以使用 v2 SDK 的资源接口(interface)或使用客户端接口(interface)执行此操作:
# resources
ec2 = Aws::EC2::Resource.new
ec2.instance(id).wait_until_running
# client
ec2 = Aws::EC2::Client.new
ec2.wait_until(:instance_running, instance_ids:[id])
关于ruby - 如何检查实例状态在 ruby 中使用 "aws-sdk"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30325081/