我正在使用NiFi连接多个API调用。为了使我的流程更具可配置性,我希望在外部配置文件中设置API密钥/终端点(例如JSON甚至是nifi.properties
文件)。
我应该如何在处理器的属性中使用此配置文件中的信息?
谢谢您的提前帮助!
我正在使用NiFi连接多个API调用。为了使我的流程更具可配置性,我希望在外部配置文件中设置API密钥/终端点(例如JSON甚至是nifi.properties
文件)。
我应该如何在处理器的属性中使用此配置文件中的信息?
谢谢您的提前帮助!
目前最简单的方法是通过在bootstrap.conf中设置值,然后可以通过NiFi表达式语言使用这些值。例如,如果您创建了一个新的Java参数:
java.arg.15=-DmyProperty=myValue
然后,在您的处理器中,您的属性需要支持表达式语言。这可以在属性描述符构建器上完成:
.expressionLanguageSupported(true)
然后从UI中,您将把该属性的值设置为${myProperty}。
在未来的版本中,将会有一种新的功能使这个过程更加容易,您可以使用一个外部属性文件,该文件将被加载并可从表达式语言中访问,因此您不必编辑bootstrap.conf文件,但现在只能采用这种方法。