Java AWS S3 SDK2如何执行异步批量操作



我想在S3内异步执行批量操作。由于某些原因,我无法在AWS构建的新SDK2客户端中找到这样做的方法。我目前使用s3asynclient的putObject方法来上传文件,但我想批量执行以提高性能。这同样适用于下载文件。我读过关于多部分上传,但我不明白,如果这是我正在寻找,因为我的文件相对较小,我不需要多部分上传。我如何进行多文件上传?

您可以使用S3TransferManager,这是TransferManager库针对AWS Java SDK v2调整的实现。S3TransferManager通过多线程提供批量上传。

请记住,在S3的情况下,您要为每个PUT请求付费。每个文件上传将构成至少一个PUT请求。即使您从S3TransferManager中使用uploadDirectory之类的内容,您仍然需要在每个文件之后支付费用。

我不知道Amazon S3中有多文件上传模式。

另一种方法是zip文件和上传一个大文件,您将受益于多部分上传。然后让Lambda函数,由在bucket中上传zip文件触发,自动解压给你的文件。

选项的进一步描述和zip &解压缩策略可以在这里找到。

相关内容

  • 没有找到相关文章

最新更新