nifi - fetchsftp - 子文件夹

nifi - fetchsftp - subfolders

我正在使用 nifi 在 ftp 个位置之间传输文件。

我必须将文件从 sftp 位置传输到 ftp 目录。

我在远程 sftp 位置有以下文件夹结构。

我需要将每个子文件夹中的相应文件下载到具有相似结构的本地目录中。

我的工作流程包括

ListSFTP -> FetchSFTP (3) -> PutFTP

在列表SFTP中 远程路径:/rootfolder

在 FetchSFTP1 中 远程路径:/rootfolder/subfolder1

在 FetchSFTP2 中 远程路径:/rootfolder/subfolder2

在 FetchSFTP3 中 远程路径:/rootfolder/subfolder3

但是,这似乎不起作用。有人可以帮助我如何从远程 sftp 子文件夹传输文件。

谢谢,

阿迪尔

您应该能够将 ListSFTP 设置为递归搜索,然后从 ListSFTP 出来的每个流文件都将具有 "path" 和 "filename".

的属性

假设您在示例中的每个目录下都有一个文件,您应该得到如下三个流文件:

ff 1 路径 = /rootfolder/subfolder1 文件名=文件1

ff 2 路径 = /rootfolder/subfolder2 文件名=文件2

ff 3 路径 = /rootfolder/subfolder3 文件名=文件3

您应该只需要一个 FetchSFTP 处理器并将远程文件名设置为 ${path}/${filename}。

如果目标系统上有相同的结构,只需将 PutFTP 的远程路径设置为 ${path}。

如果您的结构略有不同,请在 PutFTP 之前使用 UpdateAttribute 修改 "path"。