使用AWS SDK跨帐户Java从Amazon S3下载文件



我想从我的Amazon S3桶中下载一个文件。这里的问题是Amazon S3存储桶在不同的帐户中。我相信我有正确的权限,因为,

aws s3 cp s3://bucketname/path/img.JPG ./

这是工作

但是当从Java SDK执行相同的操作时,它抛出(Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey;

def downloadfile(amazonS3Client: AmazonS3, fileKeyName: String): Boolean = {
try {
amazonS3Client.getObject("bucketname", fileKeyName)
true
} catch {
case ex: Exception => print(ex); false
}
}

我正在使用默认客户端(因此凭证应该与cli相同),并且我正在调用此函数,如

downloadFile(AmazonS3ClientBuilder.defaultClient(), "path/img.JPG")

也试过了,

downloadFile(AmazonS3ClientBuilder.defaultClient(), "img.JPG")

我检查了SDK团队,他们让我看这个文档。

https://aws.amazon.com/blogs/storage/setting-up-cross-account-amazon-s3-access-with-s3-access-points/

最新更新