我正在尝试使用Akka Streams创建流或图,其中输入FtpFile
(来自Alpakka),我想将其保存到本地文件中(使用FileIO.toFile
),并完成后,我想发出本地文件的路径。
因此,基本上我是从Source<FtpFile, ?>
开始的。下载文件时,我可以将每个FtpFile
从源映射到Source<ByteString, ?>
,后者是此文件的字节源。对于每个FtpFile
,我也可以在本地路径上创建一个Sink<ByteString, ?>
。
我试图创建一个说明流程的图像:
该框的思想是内部部分是某种子流,并且仅在内部流完成后才应继续。如所示,流程中的Download File
步骤将创建一个Source<ByteString>
。我在创建一个接受类型为FtpFile
的元素的图形时遇到了问题,并且为每个元素创建了自己的Sink<ByteString>
,可以在其中运行源。该接收器必须针对每个上游元素而特定。