我想从我的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/