微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从Nifi的ValidateResult处理器获取Validation错误消息到属性中

如何解决如何从Nifi的ValidateResult处理器获取Validation错误消息到属性中

我正在尝试通过Avroschemaregistry使用ValidateRecord Processor验证json。我需要将验证错误消息存储到sql表中,因此我试图在属性中捕获错误消息,但是我无法在属性中捕获错误消息,不知道怎么做

解决方法

在ValidateRecord处理程序之后,您可以选择将“无效”的流文件路由到单独的日志并将它们路由到sql表,如果它们“失败”,则可以执行相同的操作。我从“错误消息”中假设您的意思是“ bullentin”,当处理器无法根据您的模式验证或使流文件无效时,就会发生这种情况。

对此的一种可能的解决方案是使用SiteToSiteBulletinReportingTask

Screenshot of SiteToSiteBulletinReportingTask

您可以构建数据流来接收这些公告事件,根据需要对其进行操作,然后将其存储在您选择的位置中,以满足审计需求。

听起来,SiteToSiteBulletinReportingTask应该能够实现您想要的。要实现此功能,请将iteToSiteBulletinReportingTask添加到NiFi设置中的“报告任务”中:Reporting Tasks in NiFi Settings

您可以命名您的输入端口,并使它流向您的SQL存储,然后您应该拥有所需的内容。

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。