NiFi fetchFile 处理器不允许动态属性
NiFi fetchFile processor doesn't allow dynamic attributes
有些NiFi处理器不允许动态属性的原因是什么?我在我的一个工作流程中使用 FetchFile 处理器,我需要在整个流程中传递一些数据,以便能够在最后一步中使用它。但是,FetchFile 通过不允许动态属性打破了它。我想知道是否有另一种方法可以做到这一点?为什么 NiFi 不允许某些处理器上的动态属性?
我的流程是这样的
ExecuteScript -> EvaluateJSON -> 写入文件的自定义处理器 -> FetchFile -> SendtoS3 -> 标记工作流完成
我想发送一些元数据,以便将工作流标记为完成。我将该数据作为属性传递,但它在 FetchFile 处中断。
有两个独立的概念,处理器上的用户定义属性和流文件属性。
用户定义的属性让处理器可以从用户那里获取一些无法提前定义的输入。当在用户定义的属性中指定 JSON 路径时,或者当所有用户定义的属性都作为查询参数传递给 Solr 时,在 PutSolrContentStream 中就是这样的示例。
FlowFile 属性是 key/value 对的映射,随每条数据一起传递。这些属性通常在处理器生成或修改流文件时创建,或者可以使用 UpdateAttribute 等处理器进行操作。
由每个处理器决定它是否需要用户定义的属性以及如何使用它们。 UpdateAttribute 恰好是一个处理器,其中用户定义的属性作为新的 key/value 对添加到每个流文件,但每个处理器都这样做没有意义。
有些NiFi处理器不允许动态属性的原因是什么?我在我的一个工作流程中使用 FetchFile 处理器,我需要在整个流程中传递一些数据,以便能够在最后一步中使用它。但是,FetchFile 通过不允许动态属性打破了它。我想知道是否有另一种方法可以做到这一点?为什么 NiFi 不允许某些处理器上的动态属性?
我的流程是这样的
ExecuteScript -> EvaluateJSON -> 写入文件的自定义处理器 -> FetchFile -> SendtoS3 -> 标记工作流完成
我想发送一些元数据,以便将工作流标记为完成。我将该数据作为属性传递,但它在 FetchFile 处中断。
有两个独立的概念,处理器上的用户定义属性和流文件属性。
用户定义的属性让处理器可以从用户那里获取一些无法提前定义的输入。当在用户定义的属性中指定 JSON 路径时,或者当所有用户定义的属性都作为查询参数传递给 Solr 时,在 PutSolrContentStream 中就是这样的示例。
FlowFile 属性是 key/value 对的映射,随每条数据一起传递。这些属性通常在处理器生成或修改流文件时创建,或者可以使用 UpdateAttribute 等处理器进行操作。
由每个处理器决定它是否需要用户定义的属性以及如何使用它们。 UpdateAttribute 恰好是一个处理器,其中用户定义的属性作为新的 key/value 对添加到每个流文件,但每个处理器都这样做没有意义。