0

我能够使用AWS Java API从我在环境中使用runInstances(...). 我以这样一种方式设置了快照,它可以自动启动一组进程和其他东西,以便我拥有一个功能齐全的配置。

我想做的是让实例自动运行我配置的命令并设置启动时间而不进行轮询。有什么功能可以做到这一点吗?

现在我正在使用Java Secure Channel 库轮询它何时可用;但是,我宁愿不必担心它,如果可能的话,让 AWS 处理它。

该命令在启动时根据运行方式/时间而变化,因此我可能需要执行以下命令:

SomeBashScript.sh -e SOME_ID some_command
4

1 回答 1

0

RunInstancesRequest用于创建实例的 API 在我用来启动数据的类上具有以下可用方法:

公共无效 setUserData(字符串用户数据)

这完全涵盖了@birryee 在用户指南中所说的内容。

因此,我的示例应用程序使用以下 Java 代码来启动项目:

// create the actual request
RunInstancesRequest request = new RunInstancesRequest();
request.withMinCount(1).withMaxCount(count);
request.withKeyName("TheOwner");
request.withSecurityGroups("SSH");
request.withInstanceType(InstanceType.T2Micro);
request.withImageId("MyImageID");
request.withRegion(Region.getRegion(Regions.US_EAST_1));

// add a web hook call to notify us when the instance is launched
request.withUserData("#!/bin/bash\ncurl -X POST http://domain.com/email-me");

// launch it
RunInstancesResult awsResponse = awsClient.runInstances(request);
于 2016-12-29T20:34:13.653 回答