将 NiFi 属性 设置为空

Setting a NiFi property to null

我想创建一个 属性 并将其设置为另一个 属性 的值,只要另一个 属性 存在即可。

我尝试使用如下配置的 UpdateAttribute 进程来实现此目的:

Property                  Value
   A           ${"B":isNull():ifElse(null, ${"B"})}

但是语法检查器在行尾给出了一个红色花括号(我试过 null、Null、NULL)。 如果我 运行 无论如何,我都会收到处理器异常 - 由于意外标记 'null'.

而无法计算表达式

我开始认为这不仅仅是要找到表示 null 的正确标记。是因为属性不能设置为空吗?如果是这样,解决这个问题的最佳方法是什么?

我使用规则实现了我想要的。 条件:${"B":notNull()} 操作:属性 A,值 ${"B"}

由于我有几个属性,我想使用此规则进行调节,并且我希望所有结果都在同一个输出 FlowFile 中,我 select FlowFilePolicy 到 'use original'

https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-update-attribute-nar/1.12.1/org.apache.nifi.processors.attributes.UpdateAttribute/additionalDetails.html

我通过设置 UpdateAttribute 处理器“删除属性表达式”实现了这一点 属性: ${B:isEmpty():ifElse('B','')}