我试图从AWS S3对象存储中读取一个文本文件(然后通过http发送至客户端)。我有AWS CLI命令,可以将文件复制到本地,但我如何通过SDK做到这一点?我想把内容作为字符串读取,避免保存为文件后再读回来。
在CLI中,我创建了一个带有keys的profile(仅限一次)。
aws configure --profile cloudian
然后会问一些问题,比如 AWS Access Key ID [None]:
等。然后我需要运行这个命令来检索文件。
aws --profile=cloudian --endpoint-url=https://s3-abc.abcstore.abc.net s3 cp s3://abc-store/STORE1/abc2/ABC/test_08.txt test.txt
对于阅读S3对象使用SDK :
String s3Key ="";
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withRegion(region).build();
s3Key = URLDecoder.decode("s3Key", "UTF-8");
String s3BuckerName="Your Bucket Name";
S3Object object = s3Client.getObject(new GetObjectRequest(s3BuckerName, s3Key));
S3ObjectInputStream inputStream = object.getObjectContent();
你可以用上面的代码来获取内容.而且我不知道你问题的第二部分,你想把这个数据送到什么地方去吗?