如何启动和停止亚马逊EC2在java中以编程方式使用aws-sdk实例?
非常感谢任何帮助,因为我花了一天时间试图解决这个问题。
我最近在Bamboo AWS 插件;它是开源的并且代码可在 Bitbucket 上找到,您可以找到如何启动/停止/重新启动实例的完整示例EC2Task.java(实际上应该是一个单独的类,唉......)。
幸运的是,这并不复杂,例如,可以像这样启动一个实例:
private String startInstance(final String instanceId, AmazonEC2 ec2, final BuildLogger buildLogger)
throws AmazonServiceException, AmazonClientException, InterruptedException
{
StartInstancesRequest startRequest = new StartInstancesRequest().withInstanceIds(instanceId);
StartInstancesResult startResult = ec2.startInstances(startRequest);
List<InstanceStateChange> stateChangeList = startResult.getStartingInstances();
buildLogger.addBuildLogEntry("Starting instance '" + instanceId + "':");
// Wait for the instance to be started
return waitForTransitionCompletion(stateChangeList, "running", ec2, instanceId, buildLogger); }
BuildLogger 是 Bamboo 特定的并且等待转换完成()是一个特定于实现的帮助程序,用于报告过程/结果。这AmazonEC2 ec2
参数将引用传递给AmazonEC2客户端对象通过亚马逊EC2接口,它定义了所有相关方法(以及许多其他方法),具体来说:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)