Akka将每个元素流传输到ftp接收器

时间:2017-11-22 15:27:31

标签: akka-stream

我想将Akka流中的每个元素写入(不同的)FTP文件。使用Alpakka我可以使用FTP接收器将每个元素写入同一个文件。但是,我似乎无法弄清楚如何将每个元素写入不同的文件。

source.map(el -> /* to byte string */).to(Ftp.toPath("/file.xml", settings));

所以每个el都应该以不同的文件结尾。

1 个答案:

答案 0 :(得分:1)

如果你想使用Alpakka FTP接收器,你必须按照

的方式做一些事情
  def sink(n: String): Sink[String, NotUsed] = Ftp.toPath(s"$n.txt", settings)

  source.runForeach(s ⇒ Source.single(s).runWith(sink(s)))

否则,您需要创建自己的接收器,建立FTP连接并将数据作为输入处理程序的一部分写入。您需要创建自己的图形阶段才能执行此操作。有关此内容的更多信息,请参阅docs