【发布时间】:2016-06-15 18:16:17
【问题描述】:
假设我们有一个内存非常有限的应用程序,但必须将大文件上传/下载到 AWS s3。
问题 1:当我们需要在内存非常有限的情况下直接上传/下载到 FS 时,正确的 api 是什么? (比如 200Mb)
将对象上传到 s3 的选项之一是this
TransferManager.upload(String bucketName, String key, File file)
问题 2:TransferManager.upload() 会将整个文件放入内存还是足够聪明地将内容流式传输到 s3 而不会填满内存?
问题3:我们有没有可以做zero copy networking的api?
问题 4:如果您定义策略,aws 提供将文件从 s3 移动到较慢存储的选项,如果文件移动到低频访问存储,我们是否以相同的方式查询它? (我的假设是 s3 会阻止我几个小时来获取文件,然后我的下载将开始)重要的是,如果这个过程对我作为客户端是隐藏的,或者我需要弄清楚我的文件现在在哪里并使用特定的 api得到它?
请原谅我问了很多问题,搜索了一段时间的答案,只找到了一些零碎的东西,但没有明确的答案。
【问题讨论】:
-
我知道将这些问题分成不同的问题是有意义的,但是对于正在寻找这个主题的人来说,所有的答案都会很有趣......
标签: java amazon-web-services amazon-s3