NiFi UnPackContent - 如果无法解包,丢弃流文件的最佳方法是什么

NiFi UnPackContent - what's the best way to discard the flowfiles if they cannot be unpacked

我使用的是UnPackContent version1.9.2

我想深入了解一个 zip 文件并找到 apples.txt 文件。我使用过滤器“apples\.txt”,当 apples.txt 出现在 zip 文件中的某处时,它会成功运行。

但是当 zip 文件中不存在 apples.txt 时,我收到一个公告错误“因为它似乎没有任何条目;路由到失败”并且如指示的那样,流文件确实路由到失败。此处理器需要 'failure' 关系。

如果过滤器不匹配,我只想丢弃原始流文件。我该怎么做?

在 UnpackContent 处理器的设置选项卡中,您可以选中“自动终止关系”旁边的复选框以确认失败。这意味着您不需要为所有“失败的”UnpackContent 流程文件提供传出路由。所有故障都将自动终止,您的处理器可以处于有效状态,而无需传出“故障”路由。

例如,如果您不需要原始文件进行进一步处理,您还可以选中“原始”复选框以自动终止该传出路由。

几乎所有处理器都提供这些类型的自动终止选项。

'Routing to failure relationship' 如果过滤器无法匹配是此处理器的 'feature'。对此无能为力。如果他们能提供一个配置开关就好了。 因此,我在下一级流中过滤所有“.*”和“apples.txt”、“oranges.txt”等的 RouteOnAttribute。这减少了可能的数量 'failures' 尽管如果传入的 zip 中根本没有文件它仍然会失败。