3

使用 JClouds,直到 1.6.x 版本,可以使用以下惯用语访问本机 EC2 提供程序 API:

AWSEC2Client ec2Client = AWSEC2Client.class.cast(context.getProviderSpecificContext().getApi());

实际上,我从文档页面复制:http: //jclouds.apache.org/guides/aws/

事实证明,在最新版本中,此方法已被删除。是否有替代方法/方式来访问提供商特定功能(安全组、密钥对等)?

4

1 回答 1

4

从 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);
于 2014-04-14T14:30:25.280 回答