【发布时间】:2020-03-18 17:02:24
【问题描述】:
我有一段基于 alpakka 示例的简单代码,它应该从 S3 下载一些文件以进行进一步处理:
S3.download(bucket, file)
.runWith(Sink.head)
.flatMap {
case Some((data, _)) =>
data.map(_.utf8String).runWith(Sink.head).map(Some.apply)
case None =>
Future.successful(None)
}
问题是文件内容被截断,ObjectMetadata 的文件大小是正确的,它有 ~2M 这不是一个大文件。
我注意到的是,当我使用Sink.head 时,文件内容是从头到尾,如果我将其更改为Sink.last,它是从中间到结尾。我是否从文件中获取了块,但为什么它们似乎没有被流式传输?
无法弄清楚发生了什么以及如何解决此问题。我相信这个问题与其他question 相同,遗憾的是没有答案。
谢谢
【问题讨论】:
标签: scala amazon-s3 akka alpakka