有時候 Data Pipeline 可能會因為一些原因出現一些問題,像是網路問題、OOM、資料格式不對等,這時候就需要將一些資訊內容通知到我們平常會用到的平台,像是 Email、slack 等,但如果還要再透過 HTTP API 去做發布的話就會變得更加複雜,所以 NiFi 就有支援原生的 Processor 可以讓我們去做這樣的事情,分別是 PutEmail
, PutSlack
和 PostSlack
。
我們來看一下 PutEmail 的 Properties 的設定:
Gmail SMTP
或是 AWS SES
等服務取得Icon Emoji
二擇一Icon URL
二擇一在這樣的設定下,發佈到 slack 狀態會長的如下:
橘框
就是 icon,他會根據我們設定的 Icon URL 來取得圖片來做放置黃框
就是 Username。紅框
就是 Webhook Text,就是可以透過 markdown 的方式來轉寫要發送的內容。這個 Processor 與前一個 PutSlack
的差別在於他可以上傳 FlowFile,也就是可以上傳像是 jpeg, png 的檔案到 slack 上,我們來快速看一下他的設定:
image/jpeg
透過以上三個方式,我們可以輕鬆地依據自已的場景需求,來設定要通知的訊息內容與目的地,如此一來我們就可以設計一個監控的機制,當有發生問題時,就透過這些 Processor 來將相關的訊息穿送到可以通知我們的地方。
到目前為止,已經介紹完了一些大部分場景可能會用到的 Processor,讓接下來明天開始會為期三天的場境應用範例,我會提供一個場景,然後一步一步地帶大家將這些 data pipeline 整合起來,同時也可以把過去這幾天所介紹的 Processor 還有細節給串連起來,想必經過這樣的分享,一定會對 NiFi 的操作更有所體悟!