某些NiFi处理器不允许动态属性的原因是什么?我在一个工作流中使用FetchFile处理器,我需要在整个流程中传递一些数据才能在最后一步中使用它。但是,FetchFile通过不允许动态属性破坏了它。我想知道是否有其他方法可以做到这一点?为什么NiFi不允许某些处理器上的动态属性?
我的心流就像
执行脚本-
我想发送一些元数据,以便我可以标记工作流完成。我将这些数据作为属性传递,但它在FetchFile中中断。
有两个独立的概念,处理器上的用户定义属性和流文件属性。
用户定义的属性允许处理器从用户那里获取无法提前定义的内容的输入。这方面的示例是在EvalateJsonPath中,当用户定义的属性中指定了JSON路径时,或者在PutSolrContentStream中,当所有用户定义的属性都作为查询参数传递给Solr时。
FlowFile属性是随每条数据一起传递的键/值对映射。这些属性通常在处理器生成或修改流文件时创建,或者可以使用UpdateAt的处理器进行操作。
由每个处理器决定是否需要用户定义的属性以及如何使用它们。Update属性恰好是一个处理器,其中用户定义的属性作为新的键/值对添加到每个流文件中,但每个处理器都这样做是没有意义的。