列表文件处理器,强制处理器每次都列出完整目录



我的用例。

Some processing somewhere else add files to some dir (_use_it) -> call my flow using REST -> Now I want my process to read all files from mentioned directory (_use_it).

我想每次从这个目录中读取所有文件,而不仅仅是更改/添加的文件。我无法启动/停止进程。此流必须作为后台进程运行。

我想,我正在寻找ListFile处理器运行一次,然后停止,然后当它再次运行时,它会忘记以前的状态。"一些扭曲的逻辑":)

谢谢

1. 使用 GetFile 处理器:

您可以使用 GetFile 处理器代替ListFile + FetchFile处理器和GetFile处理器doesn't store the state

  • 获取文件处理器 每次获取目录中的所有文件。

  • 保留源文件属性 如果为 true,则文件在其之后not deleted已复制到内容存储库;这会导致文件是 持续拾取,可用于测试目的。如果不是 保留原始 NiFi 将需要对其目录的写入权限 正在拉取,否则它将忽略该文件。

(或(

2. 使用列表文件处理器:

利用NiFi RestAPI,我们可以清除列表文件处理器的状态,然后处理器每次都会列出目录中的所有文件。

清除处理器的状态:

POST 
/processors/{id}/state/clear-requests 

在开始列出目录中的所有文件流之前

  1. 使用 Rest API 停止 ListFile 处理器

  2. 清除列表文件处理器的状态

  3. 启动列表文件处理器。

请参阅此链接,通过 RestApi 停止处理器

最新更新