【问题标题】:Referencing variables defined in NiFi custom properties引用 NiFi 自定义属性中定义的变量
【发布时间】:2018-01-11 22:52:12
【问题描述】:

我正在尝试使用 NiFi REST API 在我的 NiFi 集群中自动进行配置部署。我已将变量定义为自定义属性文件: nifi.variable.registry.properties=./conf/dbconfig.properties

内容 dbconfig.properties

dbuser=username
dbpass=password

我试图在配置 JSON 文件中将这些变量引用为:

    {
      "name": "ConnectDB",
      "config": {
      "properties": {
      "Exchange Name": "",
      "Port": "8329",
      "User Name": "${dbuser}",
      "Password": "${dbpass}"
    },

但是,这些注册表变量在部署期间不会被拾取。 Processor config

【问题讨论】:

  • 但在处理器上替换的注册表变量不会在创建时运行。

标签: apache apache-nifi


【解决方案1】:

你表现的行为是正确的......

如果您通过 UI 执行此操作,您将输入 ${dbuser} 和 ${dbpass} 作为处理器中的值。然后处理器在运行时评估这些以确定实际值。

通过 REST API 发布应该是一样的。

【讨论】:

  • 哦,我明白了。感谢您确认该行为。但是,处理器似乎没有采用dbconfig.properties 中定义的值,因为它显示连接到数据库时出错。我是否需要调整任何特定于处理器的配置才能使其正常工作?比如启用 NiFi 表达语言之类的?
  • 属性必须支持表达式语言,你可以查看每个处理器的文档看看哪些是支持的,如果你对nifi中引用的任何文件进行了更改,还需要重新启动nifi .variable.registry.properties
  • 我必须重建我的自定义处理器以启用表达式语言。感谢您的指导,对我帮助很大!
猜你喜欢
  • 2018-11-12
  • 1970-01-01
  • 2011-02-27
  • 2011-03-27
  • 1970-01-01
  • 2019-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多