CloudFlow的每個流程由一系列任務節點群組成,每個任務作為一個獨立單元,代表了執行的具體操作或服務。您可以通過CloudFlow控制台建立一個流程,來描述和管理您的業務。
操作步驟
登入雲工作流程控制台,然後在頂部功能表列,選擇地區。
單擊建立工作流程,在彈出的创建工作流對話方塊,選擇使用空白畫布,工作流程模式選擇快速模式,其他參數保持預設。
說明本文以建立快速模式的工作流程為例進行說明,關於CloudFlow支援的工作流程模式,請參見標準工作流程和快速工作流程。
您可以根據需求在編輯工作流程頁面進行編輯。編輯工作流程的方法有兩種:
使用 CloudFlow Studio
通過拖拽介面,提供直觀的視覺化檢視來設計和編輯工作流程。
在CloudFlow Studio編輯頁簽,選擇狀態節點或流程節點,將它們拖動至畫布所需位置。同時,您也可以調整現有流程圖中節點的位置以定製商務程序圖。
依次選中流程圖中的狀態節點或流程節點,為其設定基本配置、輸入配置、輸出配置和錯誤處理。
(可選)選擇工作流程配置頁簽,設定流程角色資訊。然後依次單擊儲存和退出。
說明如果您的流程涉及整合雲產品服務(包括雲工作流程),則必須配置已授予相應權限原則的角色,詳情請參見執行角色。
說明本文以任務狀態InvokeFunction為例,需要設定的重點配置項如下,其餘配置項選擇預設值即可。
配置類型
配置項
說明
樣本值
基本配置
狀態名稱
設定狀態節點名稱,用於描述狀態功能。
InvokeFunction
調用參數
選擇需要調用的函數、函數的版本和別名以及函數的調用方式,輸入觸發函數的Payload資訊。
您也可以單擊右上方的切換 YAML 編輯切換為YAML指令碼的形式指定函數名稱、版本和別名,以及調用方式等。
本樣本為YAML指令碼樣本。
invocationType: Sync resourceArn: acs:fc:cn-beijing:1034354682****:functions/GPU-demo/LATEST body: key: value
函數
選擇調用函數的名稱。
myfunction
版本或別名
選擇調用函數的版本和別名。
LATEST
函數調用方式
選擇同步調用和非同步呼叫函數。關於函數調用方式的介紹,請參見調用函數。
同步調用
請求負載
輸入觸發函數的Payload資訊。支援YAML和JSON兩種格式。
{ "key1": "value1", "key2.$": "$.myStateInput.key", "key3": 100 }
下個狀態
選擇下一步要轉換的狀態,修改後將即時生效。
Parallel
輸入配置
配置輸入過濾方式。取值說明如下:
使用JSON Path選擇部分參數:在下方的代碼輸入框中輸入過濾運算式,使用JSON Path過濾部分參數對象作為節點輸入。
將原始輸入作為節點輸入:將該節點的原始輸入作為節點輸入。
使用參數過濾器構造參數:使用參數過濾器構造新參數作為節點輸入。支援YAML和JSON兩種格式,樣本如下。
FieldA: 123 FieldB: string FieldC.$: $Input
輸出配置
配置輸出過濾方式。取值說明如下:
使用JSON Path選擇部分參數:在下方的代碼輸入框中輸入過濾運算式,使用JSON Path過濾有效輸出的部分參數對象作為節點輸出。
將原始輸入傳遞至輸出:將該節點的原始輸入作為輸出傳遞至下遊。
使用參數過濾器構造參數:使用參數過濾器構造新參數作為節點輸出。支援YAML和JSON兩種格式,樣本如下。
FieldA: 123 FieldB: string FieldC.$: $Input
錯誤處理
錯誤重試:配置發生錯誤時的錯誤重試策略。單擊下方的添加重試添加一個或多個重試策略。
錯誤類型
可以命中的錯誤類型,支援選擇一個或多個錯誤類型。
FC.BadResponse
最大重試次數
設定最大重試次數。
5
稍候再試秒數
設定重試時間間隔秒數,最大值為86400秒。
3
退避倍增因子
設定下一次稍候再試時間為當前稍候再試時間的倍數。
1
最大退避秒數
設定按指數退避方式重試的最大秒數。
5
錯誤/異常捕獲:配置當發生錯誤或異常時,恢複至期望的狀態。單擊下方的添加捕獲規則添加一個或多個捕獲規則。
錯誤類型
可以命中的錯誤類型,支援選擇一個或多個錯誤類型。
FC.EntitvToolLarge
回退狀態
設定捕獲到指定錯誤時,回退的目標狀態。
Hello World
結果返回
設定捕獲到指定錯誤,使用結果返回時,將錯誤添加到回退步驟的輸入。支援YAML和JSON兩種格式。
{ "key":string"hello world" }
說明僅工作流程整合情境需要設定錯誤處理,更多詳情,請參見錯誤處理。
使用 YAML 編輯
通過編寫簡潔且易讀的YAML設定檔來定義和管理工作流程。
選擇YAML編輯頁簽,切換為使用指令碼建立工作流程。在下方左側代碼輸入框輸入定義工作流程的YAML代碼。範例程式碼如下。您可以在下方右側預覽工作流程流程圖。
(可選)選擇工作流程配置編輯頁簽,設定流程角色資訊。然後依次單擊儲存和退出。
說明如果您的流程涉及整合雲產品服務(包括雲工作流程),則必須配置已授予相應權限原則的角色,詳情請參見執行角色。
Type: StateMachine Name: my-wkfl SpecVersion: v1 StartAt: InvokeFunction States: - Type: Task Name: InvokeFunction Action: FC:InvokeFunction TaskMode: RequestComplete Parameters: invocationType: Sync resourceArn: >- acs:fc:{regionId}:{accountId}:functions/myfunction/LATEST Retry: - Errors: [] Description: '重試策略 #1' MaxAttempts: 1 IntervalSeconds: 1 Next: Hello World Catch: - Errors: - FC.AccessDenied Description: '錯誤捕獲規則 #1' Next: Hello World - Type: Pass Name: Hello World End: true
在儲存前必須驗證resourceArn的合法性:resourceArn:acs:fc:{regionId}:{accountId}:functions/myfunction/LATEST中的resourceArn樣本應替換為您實際的函數ARN。擷取函數ARN的方法,請參見建立事件函數。
regionId:應為您函數所在的阿里雲地區,例如"cn-beijing"或"cn-hangzhou"。
accountId:應為您的阿里雲帳號(主帳號)ID。
myfunction:應為您的實際函數名稱。
LATEST:表示使用最新版本的函數,您可以根據需要指定具體的版本或別名。
編輯流程
流程建立完成後,您可以根據介面提示編輯流程、刪除流程和查看流程等。本章節重點介紹編輯流程的操作步驟。
登入雲工作流程控制台,然後在頂部功能表列,選擇地區。
在工作流程列表頁面,單擊目標工作流程。
在工作流程詳情頁面的右上方,單擊編輯工作流程,然後選擇編輯工作流程的方式CloudFlow Studio編輯或YAML編輯。
CloudFlow Studio編輯
根據需要增刪任務狀態或編輯任務狀態的基本配置、輸入配置、輸出配置或錯誤處理,然後依次單擊儲存和退出。
YAML編輯
修改流程定義,然後依次單擊儲存和退出。您也可以在右側圖表區域預覽流程圖。
如果需要修改流程的描述或配置執行流程使用的角色,單擊上方的工作流程配置,修改完成後依次單擊儲存和退出。