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

How to update properties of NiFi template programatically (rest-api?)

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

我阅读了文档和各种社区主题,但没有成功。参考链接:

对任何方法开放, 谢谢

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

  1. 在一个位置创建模板
  2. 导出它
  3. 上传到另一个NiFi实例
  4. 将模板添加到 canvas(所以现在它只是您 NiFi canvas 上的组件)
  5. 编辑已添加组件的属性

通常有两种不同的原因导致您希望在导入模板后编辑属性:属性特定于您 运行正在使用的实例;它们是敏感属性。

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

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

如果我完全没有兴趣,而您只是想在将模板导入 NiFi 实例后对其进行修改。您必须将模板添加到图表中,从列表中删除模板,然后使用图表上的组件重新创建它。在模板 imported/created 之后,它们是不可变的。