【问题标题】:How can I read an Excel file (xlsx) from my s3 bucket with Kotlin/Java?如何使用 Kotlin/Java 从我的 s3 存储桶中读取 Excel 文件 (xlsx)?
【发布时间】:2020-05-02 23:31:46
【问题描述】:

这个问题与其他问题相似,但针对不同的语言

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 binary = payload['Body'].read()

但这不适用于我。

从有效负载中我可以看到我有类似 objectContent 的方法,但似乎仍然不起作用。

知道怎么做吗?

我正在使用 AWS SDK 1.11

【问题讨论】:

    标签: java amazon-web-services amazon-s3 kotlin


    【解决方案1】:

    你可以从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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-25
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 2019-09-19
      • 2016-07-12
      相关资源
      最近更新 更多