影片連結:https://www.youtube.com/watch?v=1CWqgcsp7DY
YouTube 頻道:https://www.youtube.com/c/kaochenlong
各位好!在上一集我們介紹了 n8n 的介面、如何取得授權碼,以及安裝社群節點。今天我們來動手建立工作流程,實際來串接幾個節點,感受一下 n8n 的威力。
在開始之前,如果你已經取得啟用碼,你會發現左側多了一個「Personal」按鈕。這個功能可以讓你新增目錄,把工作流程整理在不同的資料夾裡面 - 相當實用!
要建立工作流程有好幾個地方可以點:
隨便找個地方點下去,你會看到一片空白的畫布。這個畫布是可以無限延伸的,你可以用滑鼠拖拉來移動視野。
我知道,對新手來說這有點不友善,畢竟不是每個人都是工程師,不是每個人都能馬上理解該怎麼用。但別擔心,我們慢慢來,跟著我一起學。
為了讓大家更容易理解節點串接的概念,我準備了一個有點蠢的題目:
「計算身高大於一公尺的寶可夢的平均戰鬥力」
這個題目其實是在練習問題拆解的過程:
首先點擊畫布中間的「+」號,會跳出一堆選單。我知道選項很多,會讓人不知道怎麼選。沒關係,當你不知道該選什麼的時候,就先選第一個「Trigger Manually」(手動觸發)。
這個節點的特色是左邊有一個橘色閃電符號,代表它是整個流程的開始。要執行它很簡單,底下有個「Execute Workflow」按鈕,點下去(或按 Command+Enter)就會執行。執行成功後會出現綠色打勾。
當然,現在執行什麼用都沒有,因為我們還沒有串接任何資料。
n8n 內建了一些訓練用的資料庫。點擊節點右邊的「+」號,在搜尋框輸入「training」,會找到「n8n Training」節點。選擇「Get all people」可以取得一些範例資料。不過這個資料有點無聊 - 每次都是一樣的五筆資料,最多也只有五筆。所以我們換個更有趣的!
還記得上一集請大家安裝的「n8n-nodes-random-pokemon
」嗎?這是我寫的社群節點,可以隨機的產生 N 隻寶可夢資料。
每次執行都會隨機產生不同的寶可夢。你可以切換檢視方式:
現在我們有了 20 隻隨機寶可夢,要怎麼找出身高大於一公尺的呢?這裡介紹兩種思考方式。
如果你是工程師,可能會想到用 if...else 的邏輯:
if height > 1:
print("OK")
else:
print("NO")
在 n8n 中的作法:
執行後,你會看到資料分成兩條路:
如果你不是工程師,可能會更直覺地想到「過濾」這個概念:
執行後,Filter 節點只會輸出符合條件的資料,不符合的直接被過濾掉。
兩種方式都能達到目的,差別在於:
如果你之後還要處理「不符合條件」的資料,用 If 比較合適。如果只要符合條件的資料,Filter 更簡潔。
最後一步,我們要計算這些大型寶可夢的平均戰鬥力:
執行後就會得到平均戰鬥力!你也可以試試其他功能:
n8n 的核心理念是:每個節點專注做好一件事,然後透過串接組合出複雜的流程。這個概念很重要!
在這個練習中,我們用隨機寶可夢當資料來源。但實際應用時,這個節點可以替換成:
重點是學會資料處理的流程和概念。
n8n 最厲害的地方就是可以用拖拉的方式設定條件,不用寫程式碼。當然,如果你要寫 {{ $json.height }}
這樣的表達式也可以,但對大多數人來說,拖拉更簡單、直覺。
當你設定好一個節點,可以按 Ctrl+C 複製、Ctrl+V 貼上,快速建立類似的節點。
節點之間的連線可以隨時刪除(點垃圾桶圖示)和重新連接,線條的形狀也可以拖拉調整,讓流程圖更美觀。
n8n 有非常多節點可以使用,但常用的大概二、三十個。接下來幾天,我會繼續用白話的方式,跟大家一起認識更多實用的節點和串接技巧。
不用焦慮、不用急,慢慢來就會了!