Akka 将每个元素流式传输到 ftp sink

Akka stream each element to ftp sink

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

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

所以每个 el 应该在不同的文件中结束。

如果你想使用 Alpakka FTP sink,你必须按照

  def sink(n: String): Sink[String, NotUsed] = Ftp.toPath(s"$n.txt", settings)

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

否则,您需要创建自己的接收器来建立 FTP 连接并将数据作为输入处理程序的一部分写入。您需要创建自己的图形阶段来执行此操作。可以在 docs.

中找到有关此的更多信息