Apache nifi ListFile处理器,强制处理器每次列出完整目录

Apache nifi ListFile处理器,强制处理器每次列出完整目录,apache-nifi,Apache Nifi,我的用例 其他地方的一些处理将文件添加到某个目录(\u使用它)->使用REST调用我的流->现在我希望我的处理从提到的目录(\u使用它)读取所有文件。 我希望每次都从这个目录中读取所有文件,而不仅仅是更改/添加的文件。我无法启动/停止进程。此流必须作为后台进程运行 我想,我正在寻找ListFile处理器运行一次,然后停止,然后当它再次运行时,它会忘记以前的状态。“一些扭曲的逻辑”: 谢谢你。使用GetFile处理器: 您可以使用GetFile处理器而不是ListFile+FetchFile处理器

我的用例

其他地方的一些处理将文件添加到某个目录(\u使用它)->使用REST调用我的流->现在我希望我的处理从提到的目录(\u使用它)读取所有文件。

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

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

谢谢你。使用GetFile处理器:

您可以使用GetFile处理器而不是ListFile+FetchFile处理器GetFile处理器
不存储状态

  • GetFile processor每次都获取目录中的所有文件

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

(或)

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

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

清除处理器的状态:

POST 
/processors/{id}/state/clear-requests 
在开始列出目录流中的所有文件之前

  • 使用RESTAPI停止ListFile处理器

  • 清除ListFile处理器的状态

  • 启动列表文件处理器


  • 请参阅和链接以通过RestApi停止处理器

    这两种方法听起来都很有希望,这是将处理器id放入属性的简单方法吗?我必须将它从ListFile processor传递到REST(这是流中的最后一个处理器)。我认为没有简单的方法,除非我们使用
    UpdateAttribute
    processor添加每个处理器id并添加处理器id属性。(或)使用NiFi RestAPI处理器组(/process groups/{id}/processors)列出处理器组中的所有处理器。