Apache nifi 访问队列属性?

Apache nifi 访问队列属性?,apache-nifi,Apache Nifi,我有许多GenerateTableFetch处理器,它们将流文件发送到下游的UpdateAttributes处理器。从UpdateAttributes,流文件被传递到ExecuteSQL处理器: 是否有任何方法可以将一个属性添加到一个队列中的流文件,该流文件位于队列中?例如,在我重置/清除GenerateTableFetch的状态后,我想知道这是否是来自GenerateTableFetch的第一批流文件。我可以看到流文件在队列中的位置,但最好是有一种方法可以将其添加为向下游传递的属性。这可能吗

我有许多GenerateTableFetch处理器,它们将流文件发送到下游的UpdateAttributes处理器。从UpdateAttributes,流文件被传递到ExecuteSQL处理器:

是否有任何方法可以将一个属性添加到一个队列中的流文件,该流文件位于队列中?例如,在我重置/清除GenerateTableFetch的状态后,我想知道这是否是来自GenerateTableFetch的第一批流文件。我可以看到流文件在队列中的位置,但最好是有一种方法可以将其添加为向下游传递的属性。这可能吗


这不是Apache NiFi中可用的功能。流文件在队列中的位置是动态的,并且随着流文件从队列中删除(通过下游处理或流文件过期)而改变

如果您只是想在添加特定流文件之前确定队列是否为空,那么此时最好的解决方案可能是使用
ExecuteScript
处理器通过REST API获得所需的连接,然后使用
FlowFileQueue#isActiveQueueEmpty()
确定指定的队列当前是否为空,并向流文件添加一个布尔属性,指示它是“批处理的第一个”或任何要应用的逻辑

“批次”并不是一个真正的NiFi概念。您是否希望对“第一个”流文件执行特定操作?可能还有其他逻辑(例如,
ExecuteSQL
处理器在x秒内没有对流文件进行操作等)可能触发您所需的行为