【发布时间】:2018-10-02 18:43:08
【问题描述】:
Encrypting large streams to be sent via Amazon S3
我正在尝试解决相同的问题,但偶然发现了一个问题:当 > 4 GB 的文件开始使用时,线程在最后挂起。此外,管道流可能真的很慢..
我正在考虑用缓冲流替换它们,但我只将 InputStream 作为参数,并返回一个加密的 InputStream。缓冲流需要底层流(我缺少一个 OutputStream)。因此,管道流在这里将是一个不错的选择 - 如果不是出于上述原因。
另外,手动启动该线程是个好主意吗?改用 ExecutorService 怎么样?
【问题讨论】:
-
这可能是 S3 对象大小的限制吗?这篇文章aws.amazon.com/blogs/aws/amazon-s3-multipart-upload 指出了 5GB 的“旧”对象大小限制和 5TB 的新限制(分段上传)。尝试将输出流写入文件而不是 AWS,以使用本地输出测试实施的限制。 (好的。链接有点旧。)但测试会显示流或 S3 实现的限制。
-
@Konrad 抱歉,我不够具体 - 这不完全是关于 S3,我将这个 sn-p 代码用于其他存储提供商(Azure 等)。文件传输确实有效 - 但是当它第 5 次完成时 - 线程只是挂起。虽然,我很感激你发送的信息,它会很有用 - 谢谢你。
-
您是否创建了 VM 的线程转储以查看线程被阻塞时线程的内部代码位置。接下来检查源以查看预期会发生什么。
标签: java encryption