如何使用Kotlin / Java从s3存储桶中读取Excel文件(xlsx)?

此问题与其他问题类似,但语言不同

Python: How to read and load an excel file from AWS S3?

很遗憾,我无法复制此文件,我认为s3客户端可能有所不同。

此刻我可以连接以从s3存储桶中进行读取,请执行以下操作:

val payload = s3.getObject("my-bucket',"my-file.xlsx")

这将返回一个S3Object类型的对象。

如python其他文章中所述,我应该做

 val binnary = payload['Body'].read()

但是这不适用于我。

从有效载荷中我可以看到我有类似objectContent的方法,但似乎仍然无法正常工作。

有什么想法吗?

我正在使用AWS SDK 1.11

viphu857143 回答:如何使用Kotlin / Java从s3存储桶中读取Excel文件(xlsx)?

您可以从S3Object获取InputStream,然后将其写入字符串,例如:

 S3ObjectInputStream s3ObjectInputStream = s3Client.getObject(new GetObjectRequest(youS3Bucket,youFileName)).getObjectContent();
String result = new BufferedReader(new InputStreamReader(s3ObjectInputStream))
.lines()
.parallel()
.collect(Collectors.joining(System.lineSeparator()));

或文件:

Files.copy(s3ObjectInputStream,Paths.get("myFile.xlsx"),StandardCopyOption.REPLACE_EXISTING);
本文链接:https://www.f2er.com/3109211.html

大家都在问