iT邦幫忙

2021 iThome 鐵人賽

DAY 24
0
AI & Data

Apache NiFi - 讓你輕鬆設計 Data Pipeline系列 第 24

Day24 NiFi 延伸應用 - Slack & Email

  • 分享至 

  • xImage
  •  

有時候 Data Pipeline 可能會因為一些原因出現一些問題,像是網路問題、OOM、資料格式不對等,這時候就需要將一些資訊內容通知到我們平常會用到的平台,像是 Email、slack 等,但如果還要再透過 HTTP API 去做發布的話就會變得更加複雜,所以 NiFi 就有支援原生的 Processor 可以讓我們去做這樣的事情,分別是 PutEmail, PutSlackPostSlack

How to use?

PutEmail

我們來看一下 PutEmail 的 Properties 的設定:

  • SMTP Hostname: SMTP 的 hostname,ex. Gmail SMTP 或是 AWS SES 等服務取得
  • From: 發信者的 email 帳號
  • To: 收信者的 email 帳號,以 , 來做多 email 的連結
  • CC: 寄件副本的 email 帳號,以 , 來做多 email 的連結
  • Subject: email 的主旨
  • Message: email 的內容
  • Flow File content as message: 是否要將 FlowFiles 的 Content 一併作為 email 的內容發送出去
  • Attach File: 是否要加入 FlowFiles 內容
  • Include All Attributes In Message: 是否要將 FlowFiles 的 Attributrs 一併作為 email 的內容發送出去

PutSlack

  • Webhook URL: slack webhook url,通常會帶有 slack 的 token
  • Webhook Text: slack 的訊息內容,可用 markdown 的方式撰寫,也支援 NEL 。
  • Channel: slack channel name
  • Username: 寄送的名字
  • Icon URL: 要大頭貼的 icon,通常與 Icon Emoji 二擇一
  • Icon Emoji: 大頭貼的 icon,通常與 Icon URL 二擇一

在這樣的設定下,發佈到 slack 狀態會長的如下:

  • 橘框 就是 icon,他會根據我們設定的 Icon URL 來取得圖片來做放置
  • 黃框 就是 Username
  • 紅框 就是 Webhook Text,就是可以透過 markdown 的方式來轉寫要發送的內容。

PostSlack

這個 Processor 與前一個 PutSlack 的差別在於他可以上傳 FlowFile,也就是可以上傳像是 jpeg, png 的檔案到 slack 上,我們來快速看一下他的設定:

  • Access Token: 填入 slack 的 token
  • Channel: 指定要發布的 Channel name
  • Text: 發布的資訊內容文字,支援 markdown
  • File Title: 上傳到 Slack 的 File title
  • File Name: file 的名稱
  • File Mime Type: ex. image/jpeg
    (補圖)

小總結

透過以上三個方式,我們可以輕鬆地依據自已的場景需求,來設定要通知的訊息內容與目的地,如此一來我們就可以設計一個監控的機制,當有發生問題時,就透過這些 Processor 來將相關的訊息穿送到可以通知我們的地方。

到目前為止,已經介紹完了一些大部分場景可能會用到的 Processor,讓接下來明天開始會為期三天的場境應用範例,我會提供一個場景,然後一步一步地帶大家將這些 data pipeline 整合起來,同時也可以把過去這幾天所介紹的 Processor 還有細節給串連起來,想必經過這樣的分享,一定會對 NiFi 的操作更有所體悟!

Reference


上一篇
Day23 NiFi - NiFi API 的使用設定
下一篇
Day25 NiFi - 第三方程式執行
系列文
Apache NiFi - 讓你輕鬆設計 Data Pipeline30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言