答案 0 :(得分:2)
很难从提供的屏幕截图中看出来,但是您似乎要删除的字段是流文件内容的一部分,与流文件的属性不同。 UpdateAttribute只能删除属性,而不能删除内容中的任何内容。
为了修改内容,您将需要使用特定于所处理内容类型的处理器。在您的情况下,它看起来像JSON,因此您可以将ConvertRecord处理器与JsonTreeReader和JsonRecordSetWriter一起使用,并将编写器配置为与阅读器具有不同的架构。基本上读所有字段,但只写出所需的字段。
也有一个UpdateRecord处理器,但是它目前尚不能删除字段。
答案 1 :(得分:0)
要删除FlowFile的属性,可以使用UpdateAttribute
和名为Delete Attributes Expression
的属性。您只需要用与要删除的属性匹配的正则表达式填充它即可。
但是,正如@Bryan Bende所说的,看起来您并不是要删除FlowFile的属性,而是要删除内容。
如果您愿意从内容中删除JSON属性,则可以使用JoltTransformJSON
中的Jolt Transformation DSL
和Remove
。然后,只需使用您要删除的属性的说明即可。例如,我要从此JSON中删除属性t1
:
{
"t1": "test",
"t2": "test2",
"t3": "test3"
}
所以,我的规范是:
{
"t1": ""
}
您可以详细了解here。