java - 使用 Alpakka 库从 s3 下载文件中的问题在 play java 项目中
问题描述
我已经使用 alpakka 成功将 csv 文件上传到 s3,现在我也尝试使用 alpakka 下载该文件。但无法完全下载该 csv 文件,有时它返回 10 行,有时返回 5 行,有时返回 50 行15413. 看起来它没有等待所有记录
final Source<Optional<Pair<Source<ByteString, NotUsed>, ObjectMetadata>>, NotUsed>
sourceAndMeta = S3.download(bucket(), bucketKey());
final Pair<Source<ByteString, NotUsed>, ObjectMetadata> dataAndMetadata =
sourceAndMeta
.runWith(Sink.head(), system)
.toCompletableFuture()
.get(5, TimeUnit.SECONDS)
.get();
final Source<ByteString, NotUsed> data = dataAndMetadata.first();
final ObjectMetadata metadata = dataAndMetadata.second();
final CompletionStage<String> resultCompletionStage =
data.map(ByteString::utf8String).runWith(Sink.head(), system);
String result = resultCompletionStage.toCompletableFuture().get(5, TimeUnit.SECONDS);
解决方案
推荐阅读
- php - laravel如何四舍五入到小数点
- webpack - @Types 没有使用正确的模块(Typescript、http-proxy-middleware、webpack、react)
- botframework - How can I create a custom screen in the messaging section in Microsoft Teams add-on
- android - NotSerializableException: kotlin.UNINITIALIZED_VALUE 设置 minifyEnabled 后为 true
- teradata-sql-assistant - Teradata 存储过程结果输出
- python-3.x - 使用文件和工作表名称中的动态日期在python中读取excel文件
- javascript - Javascript for 循环中嵌套 if 语句的正确语法
- vba - 如何限制标准模块中的功能范围
- react-native - 在特定浏览器(如 IE)中打开链接,而不是从 react-native 应用程序中打开默认浏览器?
- swiftui - swiftUICharts 库使用 SwiftUI 创建 LineView