2017-08-25 610 views
0

我正在編寫兩個數據流,一個是帶有HandleHttpRequest/Response處理器的webservice,它在接收到通知後應該觸發與GetFTP分開的流程以從FTP目錄獲取文件。NiFi - 使用Wait/Notify觸發GetFTP

我試着同時使用Wait/Notify處理器,但GetFTP不允許傳入連接,所以我無法連接一個Wait proc到它。

有關我該如何做到這一點的任何想法?

回答

2

FetchFTP可以在這種情況下使用,因爲它被設計爲與ListFTP一起使用。

這是Apache的NiFi一個共同的模式 - 將有一個GetX處理器,然後將有被串聯使用ListXFetchX處理器。 ListX掃描源目錄/列表/等。併爲每個匹配結果生成一個流文件,並將它們發送到FetchX以單獨檢索每個項目。

如果您已經知道相關的值(即文件名),則可以將這些值提供給FetchFTP處理器。如果不是,你將處於與現在相同的位置,因爲ListFTP也是源處理器,因此不接受傳入連接。您可以在技術上使用處理器來觸發REST API調用來啓動/停止GetFTP處理器(請參閱Apache NiFi REST API-PUT /processors/{id}),但這種做法顯然是件怪事。