awsazons3用户定义函数中的客户端凭证

zpf6vheq  于 2021-06-21  发布在  Pig
关注(0)|答案(1)|浏览(299)

我为我的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());
        }
    }
r8xiu3jd

r8xiu3jd1#

是的,有几种方法可以提供访问凭证,而不必硬编码jar中的值。亚马逊3客户

public AmazonS3Client()

构造一个新的客户机来调用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元数据服务传递

相关问题