gpt4 book ai didi

java - EC2 Java Api 等待创建 Ec2 实例。

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:47:17 26 4
gpt4 key购买 nike

我刚刚开始使用 Java 中的 Amazon EC2 API。

我使用 ec2.runInstances(runInstancesRequest) 创建了实例;

但是启动实例需要一些时间(通常为 1-2 分钟)。我需要通过 Java EC2 API 获取机器的公共(public) DNS。

我如何知道实例何时从“待定”状态变为“已处理”状态,以及如何通过 EC2 API 获取 EC2 实例的公共(public) DNS。

提前致谢。看那

最佳答案

当 EC2 对象更改状态时,SDK 不会引发任何事件模型或其他信号来告诉您 - 唯一的发现方法是重复对对象发出 DescribeXXXXXXXX 调用,比如每 30 秒一次, 直到状态字段改变。

调用执行和响应的最短时间是有限的,因此您需要找到一个不会在前一个请求完成之前触发请求的时间间隔。或者只是等待响应,然后再等待 'n' 秒,然后再重新发出调用。您也不希望使用快速请求向 AWS API 发送垃圾邮件,即使它们是在响应之间计时的。在我的 Controller 应用程序中,我将间隔设置为 30 秒,发出请求,等待响应,然后从间隔中减去耗时并 hibernate 那么长时间。在多线程模型中,我可以同时跟踪许多对象的状态变化,而不会淹没我的本地 CPU 或 API。

一旦检测到状态变化(假设新状态符合您的预期——不要忘记处理故障模式),您可以获得各种描述性信息,包括公共(public) DNS 地址(在实例对象)来自 API 响应对象中返回的结构。

关于java - EC2 Java Api 等待创建 Ec2 实例。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7652247/

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