我想将Akka流中的每个元素写入(不同的)FTP文件。使用Alpakka我可以使用FTP接收器将每个元素写入同一个文件。但是,我似乎无法弄清楚如何将每个元素写入不同的文件。
source.map(el -> /* to byte string */).to(Ftp.toPath("/file.xml", settings));
所以每个el
都应该以不同的文件结尾。
答案 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。