我正在尝试找出可以通过HTTP在nifi流中查看流文件的位置的方法。例如,假设我有一个网页,用户可以在其中上传文件。我想向用户指示该文件当前正在被摄取/处理,以及可能处于什么阶段。 nifi提供了哪些信息,我可以利用这些信息来获取这些信息?就像是否有办法查看流文件经过了哪些处理器,或者当前所处的处理器/队列?
谢谢
答案 0 :(得分:4)
一种选择是使用NiFi的出处事件,并对流文件UUID发出出处查询,以查看所有当前事件,这应该为您提供经过的所有处理器的图形:
https://nifi.apache.org/docs/nifi-docs/html/user-guide.html#data_provenance
您可以在使用UI中的出处功能时打开Chrome开发工具,并查看对REST API的调用。
另一个选择是在您的流程中内置某种状态更新。您可以建立自己的HTTP服务来接收简单的事件,例如ID,时间戳和处理器名称,然后在流程中将InvokeHttp处理器放置在要向服务报告状态的任何位置。然后,您的UI会在其自己的数据库中或存储它们的任何地方使用状态事件。