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

如何使用Kotlin/Java从s3存储桶中读取Excel文件(xlsx)?,java,amazon-web-services,amazon-s3,kotlin,Java,Amazon Web Services,Amazon S3,Kotlin,这个问题与其他问题相似,但适用于不同的语言 不幸的是,我无法复制这一点,我认为s3客户端可能会有所不同 目前,我能够从s3存储桶连接到read,执行了以下操作: val payload = s3.getObject("my-bucket', "my-file.xlsx") 这将返回类型为S3Object的对象 正如在python的其他帖子中提到的,我应该这样做 val binary = payload['Body'].read() 但是我没有这个 从有效载荷可以看出,我有一些方法,如ob

这个问题与其他问题相似,但适用于不同的语言

不幸的是,我无法复制这一点,我认为s3客户端可能会有所不同

目前,我能够从s3存储桶连接到read,执行了以下操作:

val payload = s3.getObject("my-bucket', "my-file.xlsx")
这将返回类型为
S3Object
的对象

正如在python的其他帖子中提到的,我应该这样做

 val binary = payload['Body'].read()
但是我没有这个

从有效载荷可以看出,我有一些方法,如
objectContent
,但似乎仍然不起作用

知道怎么做吗


我使用的是AWS SDK 1.11,您可以从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);