要使用Apache Nifi递归地从Web服务器目录中获取文件,可以使用ListFile
和FetchFile
处理器。以下是一个解决方案的示例:
首先,将ListFile
处理器添加到Nifi流程中。配置ListFile
处理器以指定要检索文件的Web服务器目录。可以通过设置"Input Directory"属性为Web服务器目录的URL来完成此操作。
接下来,将FetchFile
处理器添加到Nifi流程中。FetchFile
处理器将获取ListFile
处理器生成的文件列表中的每个文件。将ListFile
处理器的Listed Files
属性连接到FetchFile
处理器的Input
端口。
配置FetchFile
处理器以指定要将文件下载到的本地目录。可以通过设置Output Directory
属性为本地目录的路径来完成此操作。
如果希望递归地获取子目录中的文件,可以将FetchFile
处理器的Recurse Subdirectories
属性设置为true
。这将使FetchFile
处理器递归地遍历Web服务器目录的子目录,并获取其中的文件。
以下是示例Nifi流程的XML代码:
ListFile
http://webserver.com/directory
FetchFile
/local/directory
true
ListFile to FetchFile
ListFile
FetchFile
1 KB
1000
请注意,上述示例假设您的Web服务器目录是公开可访问的。如果需要身份验证或其他安全措施,请相应地配置ListFile
和FetchFile
处理器的属性。