【问题标题】:Access EC2 Instance using Basic Credentials使用基本凭证访问 EC2 实例
【发布时间】:2015-02-14 05:38:40
【问题描述】:

我正在尝试使用 Java SDK 以编程方式停止 EC2 实例。我是 AWS api 的新手,但我想做的应该是非常基本的:

BasicAWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);

AmazonEC2Client ec2 = new AmazonEC2Client(credentials); //ERROR caused by this line

我见过几个这样的例子,例如here。我知道更好的方法是使用 IAM 角色,但我只是想先让一些东西起作用。创建 AmazonEC2 的行会抛出此错误

java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper at com.amazonaws.util.json.Jackson. 

我不知道为什么会抛出未找到类定义的错误。

【问题讨论】:

  • 您能确认访问密钥是否有效吗?下载aws-cli (aws 命令工具)并直接在shell 脚本中运行以确认您可以成功运行命令aws ec2 describe-instance-status
  • 好的,我做到了,得到了很好的回应。我有一个问题,也许我应该在原始帖子中包含:如果凭据错误是问题所在,我不会得到不同的错误,而不是找不到类错误吗?还是来自 AWS api 调用的错误不能描述问题?
  • 您可以使用失败的访问密钥从头开始测试。
  • 如果在检查访问密钥之前抛出类未找到错误怎么办?
  • 你可以试试这个官方文档 (docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/…) 吗?

标签: java amazon-web-services amazon-ec2 aws-java-sdk


【解决方案1】:

我发现了这个问题。显然,AWS 库在 fasterxml.jackson.core 中需要另外三个依赖项。因为我是使用 Ivy 来配置这些的,所以我不得不手动添加这些

【讨论】:

    猜你喜欢
    • 2018-02-07
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多