gpt4 book ai didi

java - emr如何在用户定义的函数中访问aws凭证

转载 作者:太空宇宙 更新时间:2023-11-04 14:38:10 25 4
gpt4 key购买 nike

如果我运行用户定义的函数来尝试从 AWS 中删除文件夹

private AmazonS3Client s3client = new AmazonS3Client();  

@Override
public void deleteObjectsInFolder(String bucketName, String folderPath) {
for (S3ObjectSummary file : s3client.listObjects(bucketName, folderPath).getObjectSummaries()){
s3client.deleteObject(bucketName, file.getKey());
}
}

使用

./elastic-mapreduce --create  --bootstrap-action ...

效果很好但是当我想使用 java sdk 执行此操作时,我在用户定义的函数上尝试删除文件

2014-08-14 10:03:43,548 [main] ERROR org.apache.pig.tools.grunt.Grunt - 
ERROR 2999: Unexpected internal error.
Status Code: 403, AWS Service: Amazon S3, AWS Request ID: 95440BF2091119A5,
AWS Error Code: AccessDenied, AWS Error Message: Access Denied

我需要在我的java代码中添加什么?

最佳答案

请使用以下代码

private static AmazonS3 s3=null

...

File s3credsFile = new File("AwsCredentials.properties");
pc = new PropertiesCredentials(s3credsFile);
s3client = new AmazonS3Client(pc);
.....

AwsCredentials.properties 这应该包含您的访问 key 和 secret key 。

那么只有 s3client 才能删除文件。

关于java - emr如何在用户定义的函数中访问aws凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25306014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com