2017-10-05 135 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