【发布时间】:2020-05-22 07:38:23
【问题描述】:
我正在尝试使用 akka-stream-alpakka 连接器从 S3 下载 pdf 文件。我有 s3 路径,并尝试使用 alpakka s3Client 上的包装方法下载 pdf。
def getSource(s3Path: String): Source[ByteString, NotUsed] = {
val (source, _) = s3Client.download(s3Bucket, s3Path)
source
}
从我的主代码中,我调用上述方法,获取 pdf 源并能够下载 pdf。但是,我现在需要将 pdf 作为字节数组保存在内存中,而不是下载文件,以便我可以执行一些其他处理。
我当前的代码看起来像这样
val filePath = "certificate.pdf"
val value1: Future[IOResult] =
awsS3Bucket
.getSource(data.s3PdfPath)
.toMat(FileIO.toPath(Paths.get(filePath)))(Keep.right)
.run()
我尝试了一些组合,但都不成功。有人可以指出需要在上面的代码中进行哪些更改,以便使用value1 和Future[Array[Bytes]] 而不是Future[IOResult]。
TIA。
【问题讨论】:
-
“不成功”是什么意思?遇到错误?
标签: scala amazon-s3 akka-stream alpakka