【发布时间】:2016-06-09 16:17:50
【问题描述】:
我正在使用 AWS Java SDK 并尝试运行一些测试;得到:
无法从类路径上的 /AwsCredentials.properties 文件加载 AWS 凭证
凭证文件 @ ~/.aws/ 根据 AWS 规范是正确的; 777 确保没有访问问题。
我没有使用任何 IDE 插件;根据 AWS 文档,拥有一个凭证文件 @ ~/.aws/ 就足够了。有人只安装了 SDK 就可以使用吗?如果我将文件路径硬编码到 ClasspathPropertiesFileCredentialsProvider() 请求中,它将用路径而不是 AwsCredentials.properties 字符串返回错误,该字符串在任何地方都不存在(是的,尝试在 ~/.aws/以及)。
非常感谢您的任何见解,代码直接来自亚马逊:
import com.amazonaws.auth.ClasspathPropertiesFileCredentialsProvider;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.sns.AmazonSNSClient;
import com.amazonaws.services.sns.model.PublishRequest;
import com.amazonaws.services.sns.model.PublishResult;
public class SNS {
public static void main(String[] args) {
AmazonSNSClient snsClient = new AmazonSNSClient(new ClasspathPropertiesFileCredentialsProvider());
snsClient.setRegion(Region.getRegion(Regions.US_EAST_1));
String msg = "this is a test";
PublishRequest publishRequest = new PublishRequest("my arn", msg);
PublishResult publishResult = snsClient.publish(publishRequest);
System.out.println("MessageId - " + publishResult.getMessageId());
}
}
【问题讨论】:
-
您使用的是什么版本的 SDK?
-
1.11.7;最新/最大
-
CredentialProvider 首先搜索您的类路径,其中不包括 ~/.aws/ 。您需要将该文件添加到您的 java 类路径中。
-
相同结果:$ export CLASSPATH=$CLASSPATH:/Users/
/.aws/ -
也尝试了包含文件名
标签: java amazon-web-services aws-sdk