【发布时间】:2012-08-01 13:55:07
【问题描述】:
我在云中运行发电机插入时发现了一个神秘的异常,有关如何调试此类错误的任何帮助或线索?
背景
我正在运行的代码:
从我的本地机器运行时成功将数据插入 dynamodb,但是
在云中运行基于 EMR 的 mapreduce 作业时,由于身份验证而突然失败。
使用 URL 端点进行身份验证。
我只是像这样创建凭据:
client=new DynamoDBClient(new BasicAWSCredentials(
"XXXX",
"XXXXXXXXXXX));
client.setEndpoint("https://dynamodb.eu-west-1.amazonaws.com");
我得到的异常如下:
Exception in thread "main" java.lang.NoSuchFieldError: requestHandlers
at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.init(AWSSecurityTokenServiceClient.java:214)
at com.amazonaws.services.securitytoken.AWSSecurityTokenServiceClient.<init>(AWSSecurityTokenServiceClient.java:160)
at com.amazonaws.auth.STSSessionCredentialsProvider.<init>(STSSessionCredentialsProvider.java:73)
at com.amazonaws.auth.SessionCredentialsProviderFactory.getSessionCredentialsProvider(SessionCredentialsProviderFactory.java:96)
at com.amazonaws.services.dynamodb.AmazonDynamoDBClient.setEndpoint(AmazonDynamoDBClient.java:857)
at com.amazonaws.services.dynamodb.AmazonDynamoDBClient.init(AmazonDynamoDBClient.java:262)
at com.amazonaws.services.dynamodb.AmazonDynamoDBClient.<init>(AmazonDynamoDBClient.java:181)
at com.amazonaws.services.dynamodb.AmazonDynamoDBClient.<init>(AmazonDynamoDBClient.java:142)
【问题讨论】:
-
更新:似乎有一个旧版本的 aws-sdk 1.1.1 包含在 EMR 节点中!这可能会导致类版本冲突。我不确定解决问题的最佳方法,但正在考虑一些选项并正在运行测试。
标签: java amazon-web-services amazon-dynamodb