Apache nifi 如何将验证错误消息从Nifi的ValidateResult处理器获取到属性中

Apache nifi 如何将验证错误消息从Nifi的ValidateResult处理器获取到属性中,apache-nifi,Apache Nifi,我试图通过Avroschemaregistry使用ValidateRecord处理器验证json。我需要将验证错误消息存储到sql表中,因此我尝试在属性中捕获错误消息,但无法在属性中捕获错误消息,知道如何执行吗?在ValidateRecord处理器之后,您可以选择将“无效”的流文件路由到单独的日志,并将其路由到sql表,如果他们“失败”,你也可以这样做。我假设“错误消息”中的“bullentin”是指处理器无法根据您的模式验证或使流文件无效时发生的“bullentin” 一个可能的解决方案是使用

我试图通过Avroschemaregistry使用ValidateRecord处理器验证json。我需要将验证错误消息存储到sql表中,因此我尝试在属性中捕获错误消息,但无法在属性中捕获错误消息,知道如何执行吗?

在ValidateRecord处理器之后,您可以选择将“无效”的流文件路由到单独的日志,并将其路由到sql表,如果他们“失败”,你也可以这样做。我假设“错误消息”中的“bullentin”是指处理器无法根据您的模式验证或使流文件无效时发生的“bullentin”

一个可能的解决方案是使用SiteToSiteBulletinReportingTask

您可以构建一个数据流来接收这些公告事件,根据需要对它们进行操作,并将它们存储在您根据审计需要选择的位置

从听起来,SiteToSiteBulletinReporting任务应该能够实现您想要的。要实现此功能,请在NiFi设置中的“报告任务”中添加一个iteToSiteBulletinReportingTask:

你可以命名你的输入端口,让它流向你的SQL存储,你应该有你想要的

您需要允许NiFi节点通过输入端口上的站点到站点接收数据,还需要授予根进程组的正确权限,以便节点能够查看组件、查看和修改数据


旁注:我通常会记录所有事情,并将所有故障和无效路由记录到日志文件中,这些文件是我保存的,例如HBase/SQL。我看到的一个建议是配置日志记录子系统,以便向您选择的目的地额外发送特定的错误类别(例如,主动通知与被动解析日志)。NiFi正在利用一个非常灵活的logback系统(log4j的一种演变)。最好的部分-对$NIFI_HOME/conf/logback.xml配置文件的更改不需要重新启动实例,将在30秒或更短的时间内完成。

请注意,您可能应该添加指向截图所在页面的链接:例如和-否则这可能被视为剽窃,因为它没有归属。