【问题标题】:How access native provider API with Jclouds 1.7如何使用 Jclouds 1.7 访问本机提供程序 API
【发布时间】:2014-05-27 11:11:54
【问题描述】:
使用 JClouds,最高版本 1.6.x 可以通过使用以下惯用语来访问本机 EC2 提供程序 API:
AWSEC2Client ec2Client = AWSEC2Client.class.cast(context.getProviderSpecificContext().getApi());
其实我是从文档页面复制过来的:http://jclouds.apache.org/guides/aws/
事实证明,在最新版本中,此方法已被删除。是否有替代方法/方式来访问提供商特定功能(安全组、密钥对等)?
【问题讨论】:
标签:
java
amazon-web-services
amazon-ec2
jclouds
【解决方案1】:
从 ComputeServiceContext 中解开 API
ComputeServiceContext context = ContextBuilder.newBuilder("aws-ec2")
.credentials("accessKey", "secretAccessKey")
.buildView(ComputeServiceContext.class);
ComputeService computeService = context.getComputeService();
AWSEC2Api ec2Api = context.unwrapApi(AWSEC2Api.class);
直接构建 API
AWSEC2Api ec2Api = ContextBuilder.newBuilder("aws-ec2")
.credentials("accessKey", "secretAccessKey")
.buildApi(AWSEC2Api.class);