我正在使用nifi在ftp位置之间传输文件。
我必须将文件从sftp位置传输到ftp目录。
我在远程sftp位置有以下文件夹结构。
我需要将每个子文件夹中的相应文件下载到具有类似结构的本地目录。
我的工作流程包括
ListSFTP -> FetchSFTP (3) -> PutFTP
在ListSFTP中 远程路径:/ rootfolder
在FetchSFTP1中 远程路径:/ rootfolder / subfolder1
在FetchSFTP2中 远程路径:/ rootfolder / subfolder2
在FetchSFTP3中 远程路径:/ rootfolder / subfolder3
但是,这似乎不起作用。有人可以帮助我如何从远程sftp子文件夹传输文件。
谢谢,
Aadil
答案 0 :(得分:0)
您应该能够将ListSFTP设置为递归搜索,然后从ListSFTP出来,每个流文件将具有" path" ad" filename"。
假设您的示例中每个目录下都有一个文件,您应该获得三个流文件,如下所示:
ff 1 path = / rootfolder / subfolder1 filename = file1
ff 2 path = / rootfolder / subfolder2 filename = file2
ff 3 path = / rootfolder / subfolder3 filename = file3
您应该只需要一个远程文件名设置为$ {path} / $ {filename}的FetchSFTP处理器。
如果目标系统上的结构相同,只需将PutFTP的远程路径设置为$ {path}。
如果您的结构略有不同,请使用UpdateAttribute修改" path"就在PutFTP之前。