基于空白畫布創(chuàng)建工作流
云工作流的每個(gè)流程由一系列任務(wù)節(jié)點(diǎn)組成,每個(gè)任務(wù)作為一個(gè)獨(dú)立單元,代表了執(zhí)行的具體操作或服務(wù)。您可以通過云工作流控制臺(tái)創(chuàng)建一個(gè)流程,來描述和管理您的業(yè)務(wù)。
操作步驟
登錄云工作流控制臺(tái),然后在頂部菜單欄,選擇地域。
單擊創(chuàng)建工作流,在彈出的創(chuàng)建工作流對(duì)話框,選擇使用空白畫布,工作流模式選擇快速模式,其他參數(shù)保持默認(rèn)。
說明本文以創(chuàng)建快速模式的工作流為例進(jìn)行說明,關(guān)于云工作流支持的工作流模式,請(qǐng)參見標(biāo)準(zhǔn)工作流和快速工作流。
您可以根據(jù)需求在編輯工作流頁(yè)面進(jìn)行編輯。編輯工作流的方法有兩種:
使用 CloudFlow Studio
通過拖拽界面,提供直觀的可視化工具來設(shè)計(jì)和編輯工作流。
在CloudFlow Studio編輯頁(yè)簽,選擇狀態(tài)節(jié)點(diǎn)或流程節(jié)點(diǎn),將它們拖動(dòng)至畫布所需位置。同時(shí),您也可以調(diào)整現(xiàn)有流程圖中節(jié)點(diǎn)的位置以定制業(yè)務(wù)流程圖。
依次選中流程圖中的狀態(tài)節(jié)點(diǎn)或流程節(jié)點(diǎn),為其設(shè)置基本配置、輸入配置、輸出配置和錯(cuò)誤處理。
(可選)選擇工作流配置頁(yè)簽,設(shè)置流程角色信息。然后依次單擊保存和退出。
說明如果您的流程涉及集成云產(chǎn)品服務(wù)(包括云工作流),則必須配置已授予相應(yīng)權(quán)限策略的角色,詳情請(qǐng)參見執(zhí)行角色。
說明本文以任務(wù)狀態(tài)InvokeFunction為例,需要設(shè)置的重點(diǎn)配置項(xiàng)如下,其余配置項(xiàng)選擇默認(rèn)值即可。
配置類型
配置項(xiàng)
說明
示例值
基本配置
狀態(tài)名稱
設(shè)置狀態(tài)節(jié)點(diǎn)名稱,用于描述狀態(tài)功能。
InvokeFunction
調(diào)用參數(shù)
選擇需要調(diào)用的函數(shù)、函數(shù)的版本和別名以及函數(shù)的調(diào)用方式,輸入觸發(fā)函數(shù)的Payload信息。
您也可以單擊右上角的切換 YAML 編輯切換為YAML腳本的形式指定函數(shù)名稱、版本和別名,以及調(diào)用方式等。
本示例為YAML腳本示例。
invocationType: Sync resourceArn: acs:fc:cn-beijing:1034354682****:functions/GPU-demo/LATEST body: key: value
函數(shù)
選擇調(diào)用函數(shù)的名稱。
myfunction
版本或別名
選擇調(diào)用函數(shù)的版本和別名。
LATEST
函數(shù)調(diào)用方式
選擇同步調(diào)用和異步調(diào)用函數(shù)。關(guān)于函數(shù)調(diào)用方式的介紹,請(qǐng)參見調(diào)用函數(shù)。
同步調(diào)用
請(qǐng)求負(fù)載
輸入觸發(fā)函數(shù)的Payload信息。支持YAML和JSON兩種格式。
{ "key1": "value1", "key2.$": "$.myStateInput.key", "key3": 100 }
下個(gè)狀態(tài)
選擇下一步要轉(zhuǎn)換的狀態(tài),修改后將實(shí)時(shí)生效。
Parallel
輸入配置
配置輸入過濾方式。取值說明如下:
使用JSON Path選擇部分參數(shù):在下方的代碼輸入框中輸入過濾表達(dá)式,使用JSON Path過濾部分參數(shù)對(duì)象作為節(jié)點(diǎn)輸入。
將原始輸入作為節(jié)點(diǎn)輸入:將該節(jié)點(diǎn)的原始輸入作為節(jié)點(diǎn)輸入。
使用參數(shù)過濾器構(gòu)造參數(shù):使用參數(shù)過濾器構(gòu)造新參數(shù)作為節(jié)點(diǎn)輸入。支持YAML和JSON兩種格式,示例如下。
FieldA: 123 FieldB: string FieldC.$: $Input
輸出配置
配置輸出過濾方式。取值說明如下:
使用JSON Path選擇部分參數(shù):在下方的代碼輸入框中輸入過濾表達(dá)式,使用JSON Path過濾有效輸出的部分參數(shù)對(duì)象作為節(jié)點(diǎn)輸出。
將原始輸入傳遞至輸出:將該節(jié)點(diǎn)的原始輸入作為輸出傳遞至下游。
使用參數(shù)過濾器構(gòu)造參數(shù):使用參數(shù)過濾器構(gòu)造新參數(shù)作為節(jié)點(diǎn)輸出。支持YAML和JSON兩種格式,示例如下。
FieldA: 123 FieldB: string FieldC.$: $Input
錯(cuò)誤處理
錯(cuò)誤重試:配置發(fā)生錯(cuò)誤時(shí)的錯(cuò)誤重試策略。單擊下方的添加重試添加一個(gè)或多個(gè)重試策略。
錯(cuò)誤類型
可以命中的錯(cuò)誤類型,支持選擇一個(gè)或多個(gè)錯(cuò)誤類型。
FC.BadResponse
最大重試次數(shù)
設(shè)置最大重試次數(shù)。
5
重試間隔秒數(shù)
設(shè)置重試時(shí)間間隔秒數(shù),最大值為86400秒。
3
退避倍增因子
設(shè)置下一次重試間隔時(shí)間為當(dāng)前重試間隔時(shí)間的倍數(shù)。
1
最大退避秒數(shù)
設(shè)置按指數(shù)退避方式重試的最大秒數(shù)。
5
錯(cuò)誤/異常捕獲:配置當(dāng)發(fā)生錯(cuò)誤或異常時(shí),恢復(fù)至期望的狀態(tài)。單擊下方的添加捕獲規(guī)則添加一個(gè)或多個(gè)捕獲規(guī)則。
錯(cuò)誤類型
可以命中的錯(cuò)誤類型,支持選擇一個(gè)或多個(gè)錯(cuò)誤類型。
FC.EntitvToolLarge
回退狀態(tài)
設(shè)置捕獲到指定錯(cuò)誤時(shí),回退的目標(biāo)狀態(tài)。
Hello World
結(jié)果返回
設(shè)置捕獲到指定錯(cuò)誤,使用結(jié)果返回時(shí),將錯(cuò)誤添加到回退步驟的輸入。支持YAML和JSON兩種格式。
{ "key":string"hello world" }
說明僅工作流集成場(chǎng)景需要設(shè)置錯(cuò)誤處理,更多詳情,請(qǐng)參見錯(cuò)誤處理。
使用 YAML 編輯
通過編寫簡(jiǎn)潔且易讀的YAML配置文件來定義和管理工作流。
選擇YAML編輯頁(yè)簽,切換為使用腳本創(chuàng)建工作流。在下方左側(cè)代碼輸入框輸入定義工作流的YAML代碼。示例代碼如下。您可以在下方右側(cè)預(yù)覽工作流流程圖。
(可選)選擇工作流配置編輯頁(yè)簽,設(shè)置流程角色信息。然后依次單擊保存和退出。
說明如果您的流程涉及集成云產(chǎn)品服務(wù)(包括云工作流),則必須配置已授予相應(yīng)權(quán)限策略的角色,詳情請(qǐng)參見執(zhí)行角色。
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: '錯(cuò)誤捕獲規(guī)則 #1' Next: Hello World - Type: Pass Name: Hello World End: true
在保存前必須驗(yàn)證resourceArn的合法性:resourceArn:acs:fc:{regionId}:{accountId}:functions/myfunction/LATEST中的resourceArn示例應(yīng)替換為您實(shí)際的函數(shù)ARN。獲取函數(shù)ARN的方法,請(qǐng)參見創(chuàng)建事件函數(shù)。
regionId:應(yīng)為您函數(shù)所在的阿里云地域,例如"cn-beijing"或"cn-hangzhou"。
accountId:應(yīng)為您的阿里云賬號(hào)(主賬號(hào))ID。
myfunction:應(yīng)為您的實(shí)際函數(shù)名稱。
LATEST:表示使用最新版本的函數(shù),您可以根據(jù)需要指定具體的版本或別名。
編輯流程
流程創(chuàng)建完成后,您可以根據(jù)界面提示編輯流程、刪除流程和查看流程等。本章節(jié)重點(diǎn)介紹編輯流程的操作步驟。
登錄云工作流控制臺(tái),然后在頂部菜單欄,選擇地域。
在工作流列表頁(yè)面,單擊目標(biāo)工作流。
在工作流詳情頁(yè)面的右上角,單擊編輯工作流,然后選擇編輯工作流的方式CloudFlow Studio編輯或YAML編輯。
CloudFlow Studio編輯
根據(jù)需要增刪任務(wù)狀態(tài)或編輯任務(wù)狀態(tài)的基本配置、輸入配置、輸出配置或錯(cuò)誤處理,然后依次單擊保存和退出。
YAML編輯
修改流程定義,然后依次單擊保存和退出。您也可以在右側(cè)圖表區(qū)域預(yù)覽流程圖。
如果需要修改流程的描述或配置執(zhí)行流程使用的角色,單擊上方的工作流配置,修改完成后依次單擊保存和退出。