1、上一節課我們講解了nifi處理器UpdateAttribute,專門用來更新flowFile的屬性字段。本節課我們一起來學習UpdateRecord,該處理器用來更新flowFile的流文件內容數據,如下圖所示
本節教程比較簡單,涉及處理器流程如下
使用處理器GenerateFlowFile生成測試數據{"name":"Javax 小金剛","id":"2"}。
使用處理器UpdateRecord更新流文件內容中字段值。
使用處理器LogMessage打印日誌。
2、處理器UPdateRecord屬性配置,如下圖所示:
Record Reader:指定要用於讀取傳入數據的控制器服務,根據情況選擇合適的控制器服務,這裏由於輸入數據是json格式,所以選擇JsonTreeReader進行加載數據。
Record Writer:指定要用於寫出記錄的控制器服務,根據情況選擇合適的控制器服務,這裏由於輸出數據是json格式,所以選擇JsonRecordSetWrite進行輸出數據,當然也可以選取其他控制器服務。
Replacement Value Strategy:解釋如何解釋配置的替換值,有兩個選項Literal Value和Record Path Value 。
Literal Value:是指直接指定的固定數值或字符串。例如,如果你想name字段的值改爲固定的"Java大金剛",你可以在Literal Value中寫入這個值,如上圖所示。
查看溯源信息如下:
點擊Input Cliaim中的view 查看輸入原始數據,如下圖所示:
點擊Output Cliaim中的view 查看輸出數據,此時name值已經發生了改變,如下圖所示:
Record Path Value:Value字段的值設置爲record path,如下圖所示:
點擊Output Cliaim中的view 查看輸出數據,此時newName字段已經被正確賦值,如下圖所示:
還有一些其他的用法,如下圖所示: