扩展原生NiFi处理器

时间:2018-07-11 11:06:18

标签: java apache-nifi

我已经知道如何编写自定义处理器(扩展org.apache.nifi.processor.AbstractProcessor)。我已经使用了这种技术,并且可以轻松创建自定义org.apache.nifi.components.PropertyDescriptororg.apache.nifi.processor.Relationship字段,以及覆盖onTrigger方法。此外,我知道如何设置构建,建立清单并创建我的.nar文件。

我无法弄清楚的是,是否存在用于扩展本机NiFi处理器的合理模式。我希望扩展本机处理器,以便可以将扩展类(而不是其他类)用于新的单元测试。

至少,我要做的就是扩展处理器并为其定义的特定PropertyDescriptor设置值。镀金可能会阻止用户(例如通过NiFi画布)更改此配置。

任何人都可以提供任何指导或提供一些参考资料吗?

谢谢!


其他详细信息 :我的具体目标是在本地JoltTransformJSON processor中设置JOLT_SPEC的值。虽然,我希望有一个约定,可以在此特定的类和字段之外设置PropertyDescriptor值。

1 个答案:

答案 0 :(得分:1)

没有什么可以阻止您使用带有这些自定义行为的子类化特殊实现来构建NAR的,但是对我而言,这听起来是不必要的。您并没有通过新的行为扩展这些处理器的功能,只是在预先配置值并限制访问。这两个步骤都可以通过本机NiFi功能完成。

我建议您查看API或使用NiFi CLINiPyAPI之类的工具来编写此行为的脚本-从静态资源中读取JOLT_SPEC,并提供它作为PropertyDescriptor值,并将处理器上的ACL设置为特定用户只读。