我为我的pig脚本创建了一个用户定义的函数来删除一个文件夹。但是我怎么才能拿到证书呢?
REGISTER s3://emr-custom-jars/custom.jar;
如果我在pig脚本中放入register,它就可以访问aws存储中的文件。所以我的证件必须是Pig的。我可以访问我的凭证或amazones3client而不将accesskey和secretkey上传到jar中吗?
private AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
private AmazonS3Client s3client = new AmazonS3Client(credentials);
@Override
public void deleteObjectsInFolder(String bucketName, String folderPath) {
for (S3ObjectSummary file : s3client.listObjects(bucketName, folderPath).getObjectSummaries()){
s3client.deleteObject(bucketName, file.getKey());
}
}
1条答案
按热度按时间r8xiu3jd1#
是的,有几种方法可以提供访问凭证,而不必硬编码jar中的值。亚马逊3客户
构造一个新的客户机来调用amazons3上的服务方法。将使用凭据提供程序链按以下顺序搜索凭据:
环境变量-aws\u access\u key\u id和aws\u secret\u key
java系统属性-aws.accesskeyid和aws.secretkey
所有aws SDK和aws cli共享的默认位置(~/.aws/credentials)的凭据配置文件文件
示例配置文件凭据-通过amazonec2元数据服务传递