變數
變數是一種整合元素,可在整合工作的任務、觸發條件和邊緣之間保存及傳輸資料。
- 變數可以在設計階段以靜態方式定義,也可以在執行階段動態傳遞至整合。
- 變數可以參照整合中的其他變數。
- 變數可以全域存取所有工作,也可以在本機存取特定工作。
變數
在 Application Integration 中,變數會在多個位置設定或初始化:
- 設定變數:在設計階段設定,用於儲存整合的設定資料。舉例來說,您可以使用這項功能設定通知的目標電子郵件地址,而不是在整合中硬式編碼該電子郵件地址。
- 系統變數:由系統自動產生,用於儲存整合項目的設定資料。舉例來說,
ExecutionId變數會儲存整合的執行 ID。 - 整合變數:在整合中明確設定,用於追蹤整個整合執行過程中的資料。舉例來說,您可以設定變數來儲存工作結果,並在後續工作中使用。
- 工作變數:執行特定工作時隱含設定,用於儲存工作輸出內容。舉例來說,「呼叫 REST 端點」工作會設定
responseBody變數,用於儲存 REST 端點的回應主體。工作變數也稱為自動生成變數。自動生成的變數有特殊的命名慣例,變數名稱前後會加上反引號。
整合變數
整合變數包含輸入和輸出變數,與程式設計語言中使用的變數類似。在整合作業執行期間,系統可以讀取及寫入變數中的資料。
整合變數的使用方式如下:
- 做為整合作業的輸入內容,也稱為「輸入變數」。
- 做為整合作業的輸出內容傳回,也稱為輸出變數。
- 用於在執行整合時保留暫時狀態。
將變數標示為「輸入變數」,即表示觸發整合時,應提供變數的值。在整合作業執行期間,可以修改輸入變數的值。
將變數標示為「輸出變數」,即表示變數的最終值應做為整合回應的一部分傳回。
變數的值不一定要在整合中靜態定義。變數值可透過觸發條件傳入整合。不過,如果變數是在整合中以靜態方式定義,且相同變數是透過觸發條件動態提供,則動態值指派會覆寫靜態指派。
支援的資料類型
整合變數支援下列資料類型:
- String 和 字串陣列
- 整數和整數陣列
- Double 和 Double 陣列
- 布林值和布林值陣列
- JSON
工作變數
工作變數是預先定義、自動生成的工作變數。如果工作有輸出內容,所有這類輸出內容都會在工作變數中提供。您無法刪除或編輯工作變數。工作變數也稱為自動生成變數。
工作變數的不重複名稱遵循特殊命名慣例:變數名稱前後加上反引號,並包含工作 ID。格式為 `<Task ID>_<Variable Name>`。
舉例來說,「呼叫 REST 端點」工作的輸出內容是回應主體。如果這項工作的 ID 為 Task_5,則回應主體的不重複工作變數名稱為 `Task_5_responseBody`。
在「Variables」(變數) 窗格中,工作變數可能會以常見的輸出名稱列出,例如 responseBody,不含工作 ID 或反引號。如要查看參照所需的完整不重複變數名稱,請在窗格中點選變數,然後在右側面板中查看詳細資料。
設定變數
設定變數可讓您將整合設定外部化。您可以使用設定變數,設定整合項目的各個層面,例如連線名稱、端點網址,或其他依據開發環境 (例如品質確保、測試或正式環境) 調整的環境專屬值。將整合項目上傳至新環境前,您不必手動更新整合項目。發布整合項目時,您可以在 Application Integration 輸入設定變數的值。
如要查看及編輯整合中定義的設定變數,請按一下「Variables」(變數) 窗格中的「 variable_add Integration config variable」(整合設定變數)。如要瞭解如何建立及使用設定變數,請參閱「為整合項目建構 CICD」教學課程。
系統變數
建立整合項目時,系統會自動產生系統變數。您可以在整合工作中使用這些變數,並處理錯誤。整合項目包含下列系統產生的變數:
ErrorInfo:執行失敗時,您可以使用ErrorInfo變數存取錯誤詳細資料:{ "ErrorInfo": { "message": String, "code": Number } }您可以建立名為
ErrorMessage的整合變數,藉此存取錯誤訊息。不過,建議您使用系統產生的ErrorInfo.message變數來存取錯誤訊息。ExecutionMode:根據觸發條件設定的執行模式。有效值為 SYNC 和 ASYNC。ExecutionId:整合項目的執行 ID。IntegrationName:整合項目的名稱。Region:整合項目的區域。ProjectId:包含整合作業的專案 ID。
查看變數
您可以使用「Variables」(變數) 窗格,在整合中建立、編輯、查看、複製及刪除變數。「Variables」(變數) 窗格也會顯示整合作業中的變數參照總數。
如要查看「Variables」(變數) 窗格,請按一下設計工具導覽列中的 (切換面板)。
下圖顯示「Variables」窗格的版面配置範例:
查看及編輯設定變數
如要查看整合中定義的設定變數,請按一下「Variables」(變數) 窗格中的 variable_add 「Integration config variable」(整合設定變數)。「Config variables」(設定變數) 窗格隨即會顯示,當中列出整合中定義的所有設定變數。只要按一下「Value」(值) 欄位,即可編輯設定變數的值。
下圖顯示「Config variables」(設定變數) 窗格的版面配置範例:
建立變數
如要建立變數,請按照下列步驟操作:
- 在整合編輯器導覽列中,按一下「切換面板」圖示 ,叫出「變數」窗格。
- 點選「+建立」。
- 在「Create Variable」(建立變數) 窗格中,執行下列操作:
- 名稱:輸入變數名稱。
- 變數類型:選擇變數類型。
- 資料類型:選擇變數的資料類型。您可以透過變數名稱旁的圖示,識別變數的資料類型。
資料類型 範例
字串
Alex
整數
30
雙人房
30.5
布林值
true
JSON
{ "employee":{"name":"Alex", "age":30, "city":"Mountain View"} }
字串陣列
Alex, Kai, Raha
整數陣列
30, 25, 22
雙陣列
30.5, 25.34, 22.134
布林值陣列
true, false, false如要瞭解支援的資料類型,請參閱「支援的資料類型」。
- 預設值:輸入變數的預設值。此為選填欄位。
- 結構定義:選取變數的 JSON 結構定義。
- 從 JSON 酬載範例推論:從 JSON 酬載範例生成 JSON 結構定義。系統會在產生結構定義後捨棄酬載示例,只儲存產生的結構定義。
- 輸入 JSON 結構定義:手動輸入整個 JSON 結構定義。
- 從預設值推論:使用提供的預設值生成 JSON 結構定義。
- 無:沒有 JSON 結構定義。
- 在記錄中遮蓋變數:選取這個選項,即可在整合執行記錄中遮蓋變數。如要啟用變數遮蓋功能,您必須為整合作業和區域啟用遮蓋變數。如要瞭解如何為整合作業和區域啟用遮蓋功能,請參閱「編輯整合作業」和「編輯區域」。
設定變數不支援這個選項,設定變數值不會在執行記錄中遮蓋。遮蓋功能僅適用於執行記錄,下載或匯出整合時不會遮蓋值。請參閱「遮蓋記錄中的機密資料」。
資料類型 說明 無 整合中的本機變數。 整合設定變數 整合作業中的設定變數。 輸入至整合 執行期間,變數會做為輸入內容提供給執行的觸發條件。 整合輸出內容 執行結束時,變數的最終值應輸出至整合的呼叫端。 整合的輸入和輸出 執行時,變數會做為輸入內容提供給執行的觸發條件,最終值則會輸出至整合的呼叫端。 - 點選「建立」。
變數在整合作業中的運作方式
執行整合作業時,執行階段資料會以變數形式傳入,這些變數是為整合作業或工作宣告。執行作業開始後,輸入資料會轉換為記憶體內物件,稱為「事件」。
建立事件物件後,系統會使用整合定義建構工作記憶體內圖表。系統會根據您的設定,將傳入的變數值傳遞至工作。整合執行時,工作會讀取資料並寫回事件物件,供後續工作使用,或形成整合的輸出資料。
下表彙整了不同類型的變數及其行為:
| 變數類型 | 說明 | 行為 | 範例 |
|---|---|---|---|
| 設定變數 | 儲存整合的設定資料。 | 在設計時設定,並可在發布整合項目時編輯。 | 接收通知的目標電子郵件地址。 |
| 系統變數 | 由系統自動產生。 | 唯讀,無法編輯。 | ExecutionId 變數。 |
| 整合變數 | 在整個整合執行過程中追蹤資料。 | 在整合作業中明確設定,並可在整合作業執行期間編輯。 | 用於儲存工作結果的變數。 |
| 工作變數 | 儲存特定工作的輸出內容。 | 執行工作時隱含設定,無法編輯。 | 「呼叫 REST 端點」工作的 responseBody 變數。 |
變數參照
整合作業中的工作、觸發條件和邊緣會使用變數參照,讀取及寫入變數。變數參照的形式為 $paramKey$,其中 paramKey 是變數名稱。
$isNameUnique$ = true AND $numAccounts$ >= 1
例如:
- 邊緣條件式可能如下所示:
$isNameUnique$ = true AND $numAccounts$ >= 1
在這個範例中,
isNameUnique是布林值資料類型的變數,numAccounts則是整數資料類型的參數。 - 您可以在 Application Integration 工作流程中,為新使用者註冊建立電子郵件通知。假設您有兩個變數:
$userName$:保留新使用者的名稱 (例如「Alex」)。$orderID$:包含專屬訂單 ID (例如「ORD-12345」)。
電子郵件內文範本可能如下:
Hello $userName$, thank you for your order! Your order ID is $orderID$.
傳送這則訊息時,系統會將變數參照替換為對應的值。最終訊息如下:
Hello Alex, thank you for your order! Your order ID is ORD-12345.
您可以在下列位置使用變數參照:
參照自動生成或工作變數時,必須使用完整且不重複的名稱,包括反引號和工作 ID,並以錢幣符號分隔。舉例來說,如要參照 ID 為 Task_5 的呼叫 REST 端點工作 responseBody 輸出內容,您必須使用 $`Task_5_responseBody`$。
配額與限制
如要瞭解配額和限制,請參閱「配額與限制」。
後續步驟
- 瞭解如何為整合建構 CI/CD。
- 瞭解如何遮蓋記錄中的機密資料。
- 新增並設定資料對應工作