首页 > 解决方案 > 如何将 Spring Boot 模型中的数据作为 CVS 文件存储到 S3 - Java

问题描述

我在 Spring Boot 中有一个如下所示的模型:

public class TransactionHistory {
    public final String id;
    public final String firstName;
    public final String lastName;

    public TransactionHistory(String id, String firstName, String lastName) {
        this.id = id;
        this.firstName = firstName;
        this.lastName = lastName;
    }
}

我想将此数据作为CSV可以从 S3 下载的文件发布到 S3。

最好的方法是什么?

如果可能的话,我想CSV用 Java 代码创建并从代码将其发布到 S3,所以我不需要将它本地存储在计算机或数据库中。

这可能吗?

标签: javaspring-bootcsvamazon-s3

解决方案


您可以putObject上传或 getObject 下载文件。RequestBody可以直接从流中创建

另一种选择是创建一个临时文件并使用 putObject 上传文件。

正确使用 aws sdk(身份验证和授权)超出了此答案的范围,我假设您会阅读文档。

不管怎样,S3 比本地/网络磁盘或数据库慢得多,所以它绝对不是任何替代品。


推荐阅读