如何以编程方式更新NiFi模板的属性(rest-api?)

时间:2016-10-07 07:13:17

标签: apache-nifi

我将NiFi模板导出为xml。我正在使用rest-api将模板上传到NiFi实例。现在,我想从rest-api(或任何其他可用的选项,以编程方式)更新/添加模板的一些属性(比如密码)。

我没有成功地阅读了文档和各种社区线程。推荐链接:

开放任何方法, 感谢

1 个答案:

答案 0 :(得分:2)

我认为你的措辞有些混乱。如果我错了,请纠正我,但我相信你想要做的是:

  1. 在一个位置创建模板
  2. 导出
  3. 将其上传到另一个NiFi实例
  4. 将模板添加到画布(现在它只是NiFi画布上的组件)
  5. 编辑已添加的组件的属性
  6. 导入模板后,您通常需要编辑属性有两个不同的原因:属性特定于您正在运行的实例;他们是敏感的财产。

    添加"变量注册表"在NiFi-0.7.0中,您可以使用多个文件在NiFi的启动时读入以提供自定义变量。以下是NiFi docs中有关它的部分。这允许您通过特定于您运行的每个环境的表达式语言(EL)来引用自定义变量。

    "变量注册表"但是对敏感属性没有帮助,因为用于引用它们的EL不会随模板一起导出(因为属性是敏感的)。您需要使用rest-api明确更新处理器属性。 NiFi docs给出了用于更新处理器的确切调用(在处理器 - > Put下)。升级变量注册表以安全地工作在NiFi路线图上。

    如果我完全关闭,您只需要在将模板导入NiFi实例后修改模板。您必须将模板添加到图表中,从列表中删除模板,然后使用图表上的组件重新创建模板。导入/创建模板后,它们是不可变的。