了解 EC2 服务员

Understanding EC2 waiters

我想了解以下代码:

DescribeInstanceStatusRequest instanceRequest = new DescribeInstanceStatusRequest().withInstanceIds([String of our instanceId]);
AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient();
ec2.startInstances([instanceID string]);
ec2.waiters().instanceStatusOK().run(new WaiterParameters<DescribeInstanceStatusRequest>().withRequest(instanceRequest));

我确信这将启动我的 ec2 实例并检查它是 运行。我还了解到文档指出 instanceStatusOk() 将进行轮询,直到达到我想要的状态。第4行怎么知道我想要的状态是什么?

实例状态可以是以下之一:

ok | impaired | initializing | insufficient-data | not-applicable

instanceStatusOK waiter 方法是一个帮助程序,它创建一个预配置的 waiter,然后可以 运行 轮询直到 waiter 确定 EC2 实例是否具有所需的状态(ok) 与否。

知道您想要的状态(ok),因为它已预先配置了该状态。您可以为其他状态值创建服务员,但他们没有等效的预配置助手 afaik(大概是因为它们通常没有那么有用)。