2017-10-05 176 views
1

如何在Nifi中使用另一个自定义属性? 请注意,我正在使用自定义属性文件。在Nifi中使用自定义属性

例如:我在自定义属性文件中有以下内容。现在

prop_1=/path/to/dir1 
prop_2=/path/to/dir2 
prop_3=${prop_1}/${prop_2}/file1 
prop_4=${prop_1}/${prop_2}/file2 

,nifi处理器,其中表达式语言支持,当我给

${prop_3}${prop_4}

内我得到错误${prop_1}是不是一个文件或目录。

但是,如果我提供值为${prop_1}/${prop_2}/file1,它的工作原理。

当我给${prop_3}时有什么问题?

感谢,

约翰

回答

3

属性文件加载地图键值常量。在加载过程中没有进行评估。

你定义​​

这意味着prop_3等于文字值${prop_1}/${prop_2}/file1

在属性支持表达式语言设置:${prop_3}

和nifi正确地评价的${prop_3}表达文字值${prop_1}/${prop_2}/file1

+0

Thanks @dagget。得到它了。我假设这些属性的评估发生在加载过程中。 – John

1

正如daggett指出的那样,属性值是从t他在一次操作中定制属性文件,并且在该加载过程中不能相互引用。但是,您可以使用处理器之前的UpdateAttribute处理器这是做这样的评价,并使用动态属性(点击属性表的右上角的按钮+)分配prop3 = /${prop1}/${prop2}/file1,然后在任何下列处理器引用${prop3}

+1

它可以很好地将自定义的VariableRegistry插入到nifi中。 – daggett

+0

我建议你为此打开一个Jira。所有注册管理机构都积极开展工作,社区指导和实际使用案例受到高度重视。结合起来,代码是开源的,所以如果有人提供了稳定和有弹性的实现/改进,我相信它会被彻底检查并与感谢结合。 – Andy

+0

感谢@daggett和Andy为您提供的信息。 – John