華為云計(jì)算 云知識(shí) 創(chuàng)建工作流CreateWorkflow
創(chuàng)建工作流CreateWorkflow

 

接口說(shuō)明

本接口用于通過(guò)Body體直接創(chuàng)建工作流

URL
POST  https://dwr.cn-south-1.myhuaweicloud.com/v3/{project_id}/workflows/{graph_name} 
請(qǐng)求參數(shù)
名稱 類型 IN 必選 描述
X-Auth-Token
 
string header

用戶Token。通過(guò)調(diào)用 IAM 服務(wù)獲取用戶Token接口獲取(相應(yīng)消息頭中X-Subject-Token的值)。 條件:匿名請(qǐng)求不需要帶,其他請(qǐng)求必選。

project_id
 
string path

項(xiàng)目ID。

graph_name
 
string path

工作流名稱。名稱必須以字母或數(shù)字開(kāi)頭,只能由字母、數(shù)字、下劃線和中劃線組成,長(zhǎng)度小于等于64個(gè)字符,且不能重名

Body參數(shù)
名稱 類型 必選 描述
states
 
Array of State objects

工作流的編排定義,必須有TYPE,TYPE值必須是3種State(DELAY,OPERATION,END)中一種。每個(gè)state的名字是1-80長(zhǎng)度的只含數(shù)字,字母,-和_的String。

inputs
 
Array of Input objects

工作流中用戶可修改的參數(shù)項(xiàng)

description
 
string

工作流的描述

mode
 
string

工作流執(zhí)行類型:同步(EXPRESS)、異步(NORMAL)

express_config
 
ExpressConfig object

同步工作流的日志記錄模式,默認(rèn)ERROR。 ALL: 記錄所有節(jié)點(diǎn)的執(zhí)行日志 ERROR:僅記錄異常節(jié)點(diǎn)執(zhí)行日志 NONE:不記錄日志 注意:當(dāng)配置為ALL和ERROR級(jí)別時(shí)租戶需要開(kāi)啟 LTS 相關(guān)權(quán)限

func_vpc
 
FuncVpc object

工作流在指定vpc下執(zhí)行

agency
 
string

用戶傳入用于創(chuàng)建工作流時(shí)使用的委托的委托名

參數(shù):
states
名稱 類型 必選 描述
start
 
boolean

標(biāo)識(shí)開(kāi)始的state,圖中必須且只有一個(gè)start為true的state。

type
 
string

必須有TYPE,TYPE值必須是3種State(DELAY,OPERATION,END)中一種。

payload_filter_in
 
string

過(guò)濾輸入?yún)?shù),默認(rèn)值是"$",表示不過(guò)濾。必須是合法的JSONPath格式。 說(shuō)明 END State沒(méi)有payload_filter_in屬性。

payload_filter_out
 
string

過(guò)濾state的輸出結(jié)果,默認(rèn)值是"$",表示不過(guò)濾。 必須是合法的JSONPath格式。 說(shuō)明 END State沒(méi)有payload_filter_out屬性。

state_name
 
string

state的名字定義。 由小寫字母、數(shù)字和中劃線“-”組成,長(zhǎng)度為[1, 20]。

action_mode
 
string

Action執(zhí)行模式,支持串行,并行兩種模式,默認(rèn)串行

最小長(zhǎng)度:1

最大長(zhǎng)度:32

枚舉值:

sequential

parallel

actions
 
Array of Action objects

節(jié)點(diǎn)中要執(zhí)行的操作列表

next_state
 
string

創(chuàng)建工作流指定的下一個(gè)節(jié)點(diǎn)名稱

time_delay
 
integer

當(dāng)節(jié)點(diǎn)類型為事件延遲時(shí)填入需要延遲的時(shí)間,單位為秒

參數(shù):
states.actions
名稱 類型 必選 描述
action_name
 
string

節(jié)點(diǎn)名稱

action_agency
 
string

節(jié)點(diǎn)使用的委托

function
 
string

節(jié)點(diǎn)相關(guān)聯(lián)的函數(shù)URN

function_template
 
string

算子模板使用的URM

action_template_name
 
string

節(jié)點(diǎn)使用的算子名稱

action_template_category
 
string

節(jié)點(diǎn)使用的模板類別

action_template_provider_name
 
string

節(jié)點(diǎn)使用的模板提供方

invocation_mode
 
string

觸發(fā)模式

timeout
 
integer

超時(shí)時(shí)間

payload_filter
 
string

動(dòng)態(tài)參數(shù)與inputs參數(shù)相關(guān)聯(lián)使用的filter。默認(rèn)為"$"

dynamic_source
 
Map<String,Object>

節(jié)點(diǎn)使用的動(dòng)態(tài)參數(shù)

results
 
Array of ActionResult objects

action錯(cuò)誤處理

參數(shù):
states.actions.results
名稱 類型 必選 描述
match
 
string

觸發(fā)錯(cuò)誤處理需符合的條件

retry_interval
 
integer

每次重試間隔時(shí)間

max_retry
 
integer

最多重試次數(shù)

next_state
 
string

下一個(gè)狀態(tài)

is_terminal
 
boolean

是否為結(jié)束狀態(tài)

參數(shù):
inputs
名稱 類型 必選 描述
parameter_name
 
string

輸入?yún)?shù)名稱,由小寫字母、數(shù)字和中劃線“-”組成

type
 
string

參數(shù)類型??蔀閟tring,integer,float,boolean,list,map。type為list類型時(shí),value_type必填

value_type
 
string

當(dāng)列表或map作為輸入項(xiàng)時(shí),其中的元素類型。只支持原子類型。

template_parameter_name
 
string

當(dāng)多個(gè)相同action template在一個(gè)工作流時(shí),增加字段做國(guó)際化。 由小寫字母、數(shù)字和中劃線“-”組成

parameter_value
 
string

參數(shù)值。

description
 
string

參數(shù)項(xiàng)描述信息。

default
 
string

默認(rèn)值信息可在創(chuàng)建工作流實(shí)例時(shí)由外部輸入替換;若未填寫默認(rèn)值,外部輸入將必須填寫這個(gè)參數(shù)的值。 注:默認(rèn)值的類型和定義的參數(shù)類型必須統(tǒng)一。如果出現(xiàn)不一致,解析器可能會(huì)進(jìn)行自動(dòng)轉(zhuǎn)換而導(dǎo)致出現(xiàn)與預(yù)期不符合的情況。

label
 
string

參數(shù)的標(biāo)簽,此處定義的標(biāo)簽可在創(chuàng)建堆棧時(shí)進(jìn)行分類展示。

constraints
 
constraints object

約束條件有以下幾種,一個(gè)輸入?yún)?shù)對(duì)每一種條件都只能定義一個(gè)規(guī)則。約束的多個(gè)條件中只要有一條不滿足,即將認(rèn)定參數(shù)非法。 equal:約定參數(shù)的value值必須等于特定值。 valid_values:參數(shù)的有效值,定義一個(gè)數(shù)組。 regex:參數(shù)需要滿足某個(gè)正則條件,必須是字符串類型才可以進(jìn)行匹配。 invalid_values:參數(shù)的無(wú)效值范圍,如果參數(shù)值定義在其中,將會(huì)認(rèn)為無(wú)效而報(bào)錯(cuò)。

invisible
 
boolean

輸入?yún)?shù)的invisible設(shè)置為true時(shí),返回值為******。

參數(shù):
express_config
名稱 類型 必選 描述
log_level
 
string

同步工作流執(zhí)行時(shí)記錄LTS的日志級(jí)別,NONE、ERROR\ALL,默認(rèn)NONE

support_anonymous
 
boolean

同步工作流是否支持匿名訪問(wèn)

參數(shù):
func_vpc
名稱 類型 必選 描述
subnet_id
 
string

子網(wǎng)編號(hào)。當(dāng)func_vpc非空時(shí)必選。

vpc_id
 
string

虛擬私有云 唯一標(biāo)識(shí)。當(dāng)func_vpc非空時(shí)必選。

vpc_name
 
string

VPC名稱。

subnet_name
 
string

子網(wǎng)名稱。

cidr
 
string

子網(wǎng)掩碼。

gateway
 
string

網(wǎng)關(guān)。

返回參數(shù)
返回碼: 200

工作流創(chuàng)建結(jié)果信息

名稱 類型 必選 描述
Content-Length
 
string

響應(yīng)消息體的字節(jié)長(zhǎng)度。

Connection
 
string

指明與服務(wù)器的連接是長(zhǎng)連接還是短連接。有效值:keep-alive | close。

Date
 
string

DWR系統(tǒng)響應(yīng)的時(shí)間。

x-request-id
 
string

由DWR創(chuàng)建來(lái)唯一確定本次請(qǐng)求的值,可以通過(guò)該值來(lái)定位問(wèn)題。

名稱 類型 必選 描述
graph_name
 
string

工作流名稱。

graph_urn
 
string

工作流的URN。

created_at
 
string

工作流創(chuàng)建的時(shí)間。

返回碼: 400
 
名稱 類型 必選 描述
error_msg
 
string

錯(cuò)誤詳細(xì)描述

error_code
 
integer

簡(jiǎn)單錯(cuò)誤碼

request_id
 
string

請(qǐng)求唯一標(biāo)識(shí)ID

返回碼: 401
 
名稱 類型 必選 描述
error_msg
 
string

錯(cuò)誤詳細(xì)描述

error_code
 
integer

簡(jiǎn)單錯(cuò)誤碼

request_id
 
string

請(qǐng)求唯一標(biāo)識(shí)ID

返回碼: 403
 
名稱 類型 必選 描述
error_msg
 
string

錯(cuò)誤詳細(xì)描述

error_code
 
integer

簡(jiǎn)單錯(cuò)誤碼

request_id
 
string

請(qǐng)求唯一標(biāo)識(shí)ID

返回碼: 500
 
名稱 類型 必選 描述
error_msg
 
string

錯(cuò)誤詳細(xì)描述

error_code
 
integer

簡(jiǎn)單錯(cuò)誤碼

request_id
 
string

請(qǐng)求唯一標(biāo)識(shí)ID

請(qǐng)求示例
示例 1
 
"/v3/{project_id}/workflows/{graph_name}?x_workflow_create"
 
{ "inputs": [ { "parameter_name": "jpeg_comp_bkt", "parameter_value": "oef-test-ymx", "value_type": "", "default": "", "type": "string", "label": "Body", "constraints": { "regex": ".*" }, "invisible": false, "description": "jpeg compress output bucket", "dynamic_source_path": "", "template_parameter_name": "jpeg_comp_bkt", "paramId": "jpeg_comp_bkt" }, { "parameter_name": "jpeg_comp_path", "parameter_value": "output/", "value_type": "", "default": "output/", "type": "string", "label": "Body", "constraints": { "regex": ".*" }, "invisible": false, "description": "jpeg compress output path", "dynamic_source_path": "", "template_parameter_name": "jpeg_comp_path", "paramId": "jpeg_comp_path" }, { "parameter_name": "jpeg_comp_overwrite", "parameter_value": "false", "value_type": "", "default": "false", "type": "boolean", "label": "Body", "constraints": { "valid_values": [ "true", "false" ] }, "invisible": false, "description": "jpeg compress output overwrite destination", "dynamic_source_path": "", "template_parameter_name": "jpeg_comp_overwrite", "paramId": "jpeg_comp_overwrite" } ], "states": [ { "state_name": "End", "type": "END" }, { "state_name": "JPEGCompress", "payload_filter_in": "$", "payload_filter_out": "$", "type": "OPERATION", "action_mode": "SEQUENTIAL", "actions": [ { "action_template_name": "JPEGCompress", "action_name": "JPEGCompress", "action_template_category": "FileProcess", "action_template_provider_name": "op_svc_obs", "invocation_mode": "SYNC", "timeout": 30, "payload_filter": "$", "results": [], "dynamic_source": { "param": { "input": { "bucket": "obs-oef-workflow", "isoverride": { "get_input": "$.inputs.jpeg_comp_overwrite" }, "location": "cn-north-7", "object": "config.jpeg" }, "output": { "bucket": { "get_input": "$.inputs.jpeg_comp_bkt" }, "location": "cn-north-7", "object": { "get_input": "$.inputs.jpeg_comp_path" } } } }, "function_template": "urn:fss:cn-north-7:c5ca145430464de88518b2ce0f21f903:function:default:oef-funcube-jpeg-compress-1x:latest" } ], "next_state": "End", "start": true } ], "description": "description" }
返回示例
返回碼:200

工作流創(chuàng)建結(jié)果信息

示例 1
 
{
"graph_name": "test-graph",
"graph_urn": "urn:obs:cn-north-5:3f1e6caf808246c68457e660e4bfeb2f:graph:test-graph",
"created_at": "2020-04-23T12:32:11.131Z"
}
SDK
點(diǎn)擊  數(shù)據(jù)工坊  (DWR) SDK, 下載SDK或查看SDK文檔。SDK的安裝、認(rèn)證方式等在SDK文檔中對(duì)應(yīng)語(yǔ)言類型的【使用】目錄下。
錯(cuò)誤碼
請(qǐng)參考 錯(cuò)誤碼說(shuō)明