魔筆平臺提供了強大的集成流編排功能,允許用戶通過簡單的配置,快速構建一個可以執行多種復雜操作的集成流。本文將指導您如何使用集成流功能。
什么是集成流
集成流可以將多個集成操作有序的組合起來,從而處理高復雜度的邏輯。魔筆提供了豐富的集成流節點,包括自定義代碼、大模型、資源連接、邏輯判斷等。用戶可以根據自己的需要組合編排節點,快速搭建一個集成流。
集成流設計器界面說明
集成流設計器界面說明:
標注 | 功能名稱 | 使用說明 |
1 | 魔筆LOGO及集成流名稱 | 點擊LOGO可返回集成流列表 |
2 | 版本歷史記錄 | 可發布、回退所提交版本 |
3 | 左側功能面板 | 集成流功能選項 |
4 | 錯誤檢查 | 提示錯誤及警告數,點擊出現錯誤信息面板 |
5 | 集成流畫布工作區 | 編排集成流的工作區 |
7 | 模擬測試面板 | 對集成節點和流進行測試 |
8 | 提交與發布 | 提交和發布集成流 |
集成流節點
節點類型
觸發器節點
觸發器節點是流的起始節點,承載流的全局配置,包括參數,超時,策略等。觸發節點屬于有值節點,可通過trigger.data
來引用用戶使用集成流時配置的實際參數。
有值節點是指某類在初始后或者執行后攜帶有數據,能以{節點id.data}
的形式訪問其數據的節點。觸發器節點、集成操作節點以及變量節點都屬于有值節點。
配置項說明:
名稱 | 說明 | 類型 |
必填參數 | 定義調用集成流時必須設置的參數 | |
可選參數 | 定義調用集成流時可選設置的參數 | |
超時 | 集成流運行超過設置時間則返回超時錯誤 | 數字,單位:毫秒數 |
集成操作節點
集成操作節點有多重操作類型,包括腳本、SQL、百煉應用等。
腳本
支持使用 JavaScript 編寫邏輯腳本。腳本將在后臺被封裝為一個異步函數并被執行調用。輸入的腳本內容將作為函數的函數體。函數返回的結果將作為節點對象data
屬性的值。結構大致如下:
async () => {
// your code here
}
配置項說明:
名稱 | 說明 | 類型 |
代碼 | 代碼將作為異步函數的函數體 | JavaScript |
其他類型
集成節點屬于有值節點,可通過{節點id.data}
引用數據。
if 節點
if 節點的作用類似編程語言中if...else
,如下所示:
if (condition) {
// statement 1
} else {
// statement 2
}
條件節點包括以下三個部分:
條件【必須】。JavaScript 表達式,值為布爾類型。
if 節點集合【必須】。集合中可以包含任意節點。
else 節點集合【非必須】。集合中可以包含任意節點。
名稱 | 說明 | 類型 |
條件 | 判斷的條件,需要返回 | JavaScript 表達式 |
if 節點不屬于有值節點,無法被引用。
while 節點
while 節點的作用類似編程語言中while
,如下所示:
while (condition) {
// statement
}
循環節點包括以下兩個部分:
條件【必須】。JavaScript 表達式,值為布爾類型。
節點集合【必須】。集合中可以包含任意節點。
while節點不屬于有值節點,無法被引用。
try 節點
try 節點的作用類似編程語言中try...catch
,如下所示:
try {
// tryStatements
} catch (exception) {
// catchStatements
} finally {
// finallyStatements
}
try節點包括以下三個部分:
try 節點集合【必須】。
catch 節點集合【非必須】。catch 集合下的節點可以通過
error
關鍵字獲取捕獲到的異常錯誤,error 對象包含code
和message
屬性。finally 節點集合【非必須】。
try 節點不屬于有值節點,無法被引用。
throw 節點
throw 節點作用類似編程語言中的throw
,如下所示:
throw expression;
通常定義在 try 節點集合內,捕獲的錯誤在 catch 節點集合中進行處理。
配置項說明:
名稱 | 說明 | 類型 |
異常編碼 | 異常編碼 | 字符串 |
異常信息 | 異常信息 | JavaScript 表達式 |
throw 節點不屬于有值節點,無法被引用。
變量節點
變量節點的作用類似 JavaScript 中的let
,聲明用于聲明可重新賦值的塊級節點作用域局部變量,并且可以選擇將其初始化為一個值。
集成流有兩種賦值方式:
顯式賦值。使用賦值節點進行賦值。
隱式賦值。在腳本或者表達式中設置其節點對象的
data
屬性的值,例如:variableId.data = xxx
。
名稱 | 說明 | 類型 |
默認值 | 變量默認值 | JavaScript表達式 |
變量節點屬于有值節點,可通過{節點id.data}
引用數據。
賦值節點
賦值節點的作用是對變量節點進行顯式賦值。
賦值節點包含兩部分:
賦值對象:所要賦值的變量。
值:JavaScript 表達式。
名稱 | 說明 | 類型 |
默認值 | 變量默認值 | JavaScript 表達式 |
賦值節點不屬于有值節點,無法被引用。
用戶任務節點
用戶任務節點允許用戶暫時中斷一個集成流并等待用戶輸入,具體使用說明請閱讀用戶任務節點及可中斷集成流。
返回節點
返回節點的作用類似編程語言中return
。返回節點返回的值將作為整個集成流的執行結果值。
名稱 | 說明 | 類型 |
值 | 返回值 | JavaScript 表達式 |
節點作用域
在代碼編寫過程中,我們經常會考慮作用域的影響:
作用域是當前的執行上下文,在其中的值和表達式“可見”(可被訪問)。如果一個變量或表達式不在當前的作用域中,那么它是不可用的。作用域也可以堆疊成層次結構,子作用域可以訪問父作用域,反過來則不行。
在集成流的編排中也有相似的概念。節點作用域的概念與編程中變量作用域的概念非常相似,在集成流中,作用域決定了節點對象能否被訪問或引用。
節點作用域分以下兩種:
全局作用域:與觸發器節點同一級的節點所在的作用域;
塊級作用域:集合類節點創建出的內部作用域,外部節點無法訪問內部節點的節點對象。集合類節點包括 if 節點、while 節點、try 節點。
關于塊級作用域,這里使用 if 節點舉例:if 節點集合下的節點無法訪問 else 節點集合下的節點,反之亦然,因為 if 和 else 各自創建出了獨立的內部作用域。
構建集成流
新建集成流
首先需要創建一個集成流。在控制臺中依次選擇資源 > 集成流,選擇創建集成流。
編排集成流
集成流的編排可能包含以下動作:
創建一個節點。
更改節點的標識符 id(僅為更具可讀性,非必須)。
設置節點的配置項。
觀察錯誤檢查面板是否存在錯誤。
克隆節點進行小范圍修改。
刪除錯建錯配的節點。
節點調試(集成節點)。
調整節點的關系(依據實際需要)。
您可以通過以下動作操作集成流節點:
添加節點 :當鼠標放置在節點間的邊上時,會出現添加節點的按鈕。點擊并選擇節點類型即可添加一個節點。節點生成之后帶有一個默認的節點 id,它是節點的唯一標識,也是節點作用域下的節點變量。節點 id允許被修改,像定義變量名一樣,賦予一個可讀的名稱。如需修改節點的標識符 id,可選中節點,點擊 id一欄進行修改。id 作為節點的唯一標識符,不可重復。
刪除節點:選中節點,在配置面板下方選擇刪除節點。或者,點擊節點卡片上更多按鈕,選擇“刪除節點”。
克隆節點:點擊節點卡片上更多按鈕,選擇“克隆節點”。
移動節點:可通過拖拽將節點調整到預想的位置。位置改變也意味著節點關系發生了變化。例如 if 節點集合下的節點被拖到 else 節點集合下,它將在 else 邏輯被觸發時執行。
在完成節點添加操作后,您還需要為每個節點配置必要的屬性信息。選中節點后,編輯器右側的配置面板中會出現該節點的配置項。
調試集成流
當配置完一個集成節點,或者整個流已經編排完成,驗證它們是否能按預期工作是必不可少的一步。魔筆集成流編輯器也提供了調試功能。
觸發器配置面板中的調試器可以用來模擬整個流的運行,集成節點對應的配置面板中的調試器可以用來測試當前的集成操作。
上圖為集成流中的調試面板,它主要由以下幾個部分組成:
模擬參數
模擬參數中顯示的是集成節點(action 節點)腳本或者配置中依賴的節點數據。
模擬參數以 JavaScript 對象的形式顯示。對象的屬性是在配置項中引用到的節點 id,值是節點對象值,一般默認為空值null
。
下面三種情況例外:
在觸發器面板設置的trigger模擬數據在全局可用。
引用的節點是變量節點。魔筆將從該變量節點的配置中讀取值(變量表達式中無外部節點引用,可通過eval直接得出結果)。
若引用的節點是集成節點并且已有測試結果,則測試結果將作為默認值。
用戶可對模擬參數進行添加、編輯、刪除等操作。用戶可根據自己的需要設置值。它將作為測試節點使用的參數。
以下幾點需要注意:
保持節點對象結構完整,data屬性不可刪除。
如需在輸入框中輸入對象,須使用
()
包裹內容,例如:({key:val})
。
測試結果
圖中所示為測試的狀態指示,不同顏色代表不同的狀態,它有以下三種狀態:
灰色:待測試;
綠色:測試成功,執行成功并得到結果;
紅色:測試失敗,返回結果成功標識符為false,可根據錯誤提示,對配置或代碼進行調整。
內容區將顯示測試的結果,未再次進行測試或者模擬參數沒有發生變更,測試結果將保持顯示。
測試/運行
根據配置信息和模擬參數,運行流或者執行集成操作。
提交與發布
提交
提交后的集成流,將會產生提交記錄,可在左側功能面板 > 歷史記錄中查看。可對記錄進行發布和回滾操作。
發布
默認發布最新一次的提交記錄。如果當前工作區內容還未進行提交,選擇環境并點擊確定發布后會創建提交并發布此次提交。用戶也可選擇其他記錄進行發布。發布后的集成流可在應用設計器中使用。
集成流可以發布至開發環境或生產環境。如果您需要在應用編輯器內使用集成流集成操作,請先將目標集成流發布至開發環境。
為確保集成流在生產環境也能正確使用,發布應用前請確保相關集成流已發布至生產環境。
錯誤檢查
和頁面編輯器一樣,集成流編輯器也提供了相應的錯誤檢查功能,方便用戶及時的發現問題。
集成流的錯誤檢查主要包含以下內容:
節點 id引用有效性檢查;
JavaScript 腳本及表達式錯誤檢查;
節點配置必填項檢查;
節點引用的集成資源有效性檢查。
標注 | 功能名稱 | 使用說明 |
1 | 錯誤搜索框 | 可搜索流中存在的錯誤 |
2 | 錯誤數及警告數 | 紅色為錯誤,橙色為警告 |
3 | 錯誤信息 | 錯誤信息 |
4 | 錯誤路徑 | 產生錯誤的節點位置,點擊路徑可選中該節點,并顯示配置信息 |