{"base_path":null,"components":null,"consumes":"[\"application/json\"]","definitions":{"Action":{"description":"节点操作详情","properties":{"function_ref":{"$ref":"#/definitions/FunctionRef"}}},"ErrorRsp400":{"description":"失败时返回的错误对象","properties":{"error_code":{"description":"错误码","example":"FGS.3002","maxLength":36,"minLength":1,"type":"string"},"error_msg":{"description":"错误描述","example":"Invalid parameters.","maxLength":512,"minLength":2,"type":"string"},"request_id":{"description":"请求ID","example":"Req1","maxLength":512,"minLength":2,"type":"string"}}},"ErrorRsp500":{"description":"失败时返回的错误对象","properties":{"error_code":{"description":"错误码","example":"FGS.3002","maxLength":36,"minLength":1,"type":"string"},"error_msg":{"description":"错误描述","example":"Internal Error.","maxLength":512,"minLength":2,"type":"string"},"request_id":{"description":"请求ID","example":"Req1","maxLength":512,"minLength":2,"type":"string"}}},"ExpressConfig":{"description":"快速模式配置项","properties":{"log_level":{"description":"快速模式相关配置,仅在mode配置为EXPRESS时生效\n快速模式下流程的执行日志级别,当前支持:\nALL: 记录所有节点的执行日志\nERROR:仅记录异常节点执行日志\nNONE:不记录日志\n注意:当配置为ALL和ERROR级别时租户需要开启LTS相关权限","enum":["ALL","ERROR","NONE"],"example":"NONE","maxLength":5,"minLength":1,"type":"string"}}},"Function":{"description":"函数信息","properties":{"metadata":{"description":"函数扩展属性,由用户自己定制","example":{"action_template_category":"video","action_template_name":"templateA","action_template_provider_name":"obs"},"properties":{},"type":"object"},"name":{"description":"函数名称,在单个流程中,名称需要唯一","example":"functionName","maxLength":256,"minLength":0,"type":"string"},"operation":{"description":"函数调用URN","example":"urn:fss:cn-north-7:*:test_workflow","maxLength":256,"minLength":0,"type":"string"}},"required":["name","operation"]},"FunctionRef":{"description":"函数调用信息","properties":{"arguments":{"description":"函数执行时的入参,支持引用constants中的常量\n定义方式:参数路径 | 常量值/常量路径\n参数路径指输入参数的JsonPath路径,如$.a.b[0].c\n常量值可以为数字类型,字符串类型(需要用单引号括起来),布尔类型\n常量路径为常量的JsonPath路径,但是根节点需要用$CONST表示,示例:$CONST.a.b","example":{"account":"$.account","dynamic_source":{"bucket":"$.input.bucket | $.constants.input.bucket"}},"properties":{},"type":"object"},"invoke_mode":{"description":"函数调用模式,目前只支持同步调用","enum":["synchronize"],"example":"synchronize","maxLength":32,"minLength":1,"type":"string"},"ref_name":{"description":"函数引用名称,需要和外层functions中的name对应","example":"functionName","maxLength":256,"minLength":0,"type":"string"}},"required":["arguments","ref_name"]},"OBSTriggerConfig":{"description":"触发器结构体","properties":{"bucket":{"description":"OBS桶名(trigger_type为OBS时配置)","example":"bucket","maxLength":64,"minLength":1,"type":"string"},"events":{"description":"OBS事件列表(trigger_type为OBS时配置)","example":["ObjectCreated:Put","ObjectRemoved:Delete"],"items":{"type":"string"},"maxItems":64,"minItems":1,"type":"array"},"prefix":{"description":"对象名前缀(trigger_type为OBS时配置)","example":"pre","maxLength":64,"minLength":1,"type":"string"},"suffix":{"description":"对象名后缀(trigger_type为OBS时配置)","example":"mp4","maxLength":64,"minLength":1,"type":"string"}},"required":["bucket","events","prefix","suffix"]},"OnError":{"description":"错误处理策略详情","properties":{"error":{"description":"错误匹配表达式,用来过滤需要处理的异常","example":"$.errorCode == 500","maxLength":256,"minLength":0,"type":"string"},"retry_ref":{"description":"重试策略名称","example":"retry-policy1","maxLength":256,"minLength":0,"type":"string"},"transition":{"description":"下一步骤节点ID","example":"Node1","maxLength":256,"minLength":0,"type":"string"}}},"OperationState":{"description":"函数执行节点信息","properties":{"action_mode":{"description":"Action执行模式,支持串行,并行两种模式,默认串行","enum":["sequential","parallel"],"example":"sequential","maxLength":32,"minLength":1,"type":"string"},"actions":{"description":"节点中要执行的操作列表","example":[{"function_ref":{"arguments":{"Records":"$.Records","dynamic_source":{"input":{"bucket":"","location":"","object":""},"output":{"bucket":"$.inputs.resize_outbucket | $.constants.inputs.resize_outbucket.value","location":"cn-north-7","object":"$.inputs.resize_outpath | $.constants.inputs.resize_outpath.value","source_path":"$.inputs.resize_source_path | $.constants.inputs.resize_source_path.value"},"resize_param":{"color":"$.inputs.resize_color | $.constants.inputs.resize_color.value","h":"$.inputs.resize_h | $.constants.inputs.resize_h.value","l":"$.inputs.resize_l | $.constants.inputs.resize_l.value","limit":"$.inputs.resize_limit | $.constants.inputs.resize_limit.value","m":"$.inputs.resize_m | $.constants.inputs.resize_m.value","p":"$.inputs.resize_p | $.constants.inputs.resize_p.value","s":"$.inputs.resize_s | $.constants.inputs.resize_s.value","w":"$.inputs.resize_w | $.constants.inputs.resize_w.value"}},"execution_name":"$.execution_name","graph_name":"$.graph_name","inputs":"$.inputs"},"ref_name":"func1"},"invoke_mode":"synchronize"}],"items":{"$ref":"#/definitions/Action"},"maxItems":10,"minItems":1,"type":"array"},"duration":{"description":"时间等待节点等待时间(秒),节点类型为Sleep时为必填,节点类型不为Sleep时无效","example":5,"format":"int64","maximum":86400,"minimum":0.001,"type":"integer"},"end":{"description":"是否是结束节点","example":false,"type":"boolean"},"id":{"description":"节点ID,需要在当前函数流中唯一","example":"Start","maxLength":64,"minLength":0,"type":"string"},"name":{"description":"节点名称","example":"function1","maxLength":256,"minLength":1,"pattern":"^([_a-zA-Z0-9().-]|[\\u4e00-\\u9fa5]){1,256}$","type":"string"},"on_errors":{"description":"错误处理策略","items":{"$ref":"#/definitions/OnError"},"maxItems":200,"minItems":0,"type":"array"},"state_data_filter":{"$ref":"#/definitions/StateDataFilter","description":"过滤表达式"},"transition":{"description":"下一步骤节点ID","example":"Node1","maxLength":256,"minLength":0,"type":"string"},"type":{"description":"节点类型","enum":["Operation","Sleep","End"],"example":"Operation","maxLength":32,"minLength":1,"type":"string"}},"required":["actions","end","id","name","transition","type"]},"Retry":{"description":"重试策略","properties":{"delay":{"description":"重试间隔,单位:秒。若不传,默认为1","example":10,"format":"int64","maximum":30,"minimum":1,"type":"integer"},"max_attempts":{"description":"最大重试次数,。若不传,默认为3","example":5,"format":"int64","maximum":8,"minimum":1,"type":"integer"},"name":{"description":"重试策略名称,在单个流程中,名称需要唯一","example":"retry-policy1","maxLength":256,"minLength":1,"pattern":"^([_a-zA-Z0-9().-]|[\\u4e00-\\u9fa5]){1,256}$","type":"string"}},"required":["name"]},"StateDataFilter":{"description":"输入输出过滤配置","properties":{"input":{"description":"输入过滤表达式(JsonPath)","example":"$.body","maxLength":256,"minLength":0,"type":"string"},"output":{"description":"输出过滤表达式(JsonPath)","example":"$.body","maxLength":256,"minLength":0,"type":"string"}}},"Trigger":{"description":"触发器结构体","properties":{"enabled":{"default":true,"description":"是否启用触发器","enum":[true,false],"example":false,"type":"boolean"},"trigger_config":{"$ref":"#/definitions/OBSTriggerConfig","description":"OBS触发器配置,当trigger_type为OBS时需要设置"},"trigger_name":{"description":"触发器名称","example":"trigger-obs","maxLength":256,"minLength":1,"type":"string"},"trigger_type":{"description":"触发器类型\nFLOWTIMER:定时触发器\nSMN:SMN触发器\nAPIG:APIG触发器(共享版)\nAPIG_DE:APIG触发器(专享版)\nOBS:OBS触发器","enum":["FLOWTIMER","SMN","APIG","APIG_DE","OBS"],"example":"OBS","maxLength":32,"minLength":1,"type":"string"}},"required":["trigger_name","trigger_type"]},"WorkflowCreateBody":{"description":"创建函数流的body体","properties":{"constants":{"description":"函数流中的常量","example":{"input":{"bucket":"default_bucket"}},"properties":{},"type":"object"},"description":{"description":"函数流描述","example":"test-flow-description","maxLength":512,"minLength":1,"pattern":"^([_a-zA-Z0-9().-]|[\\u4e00-\\u9fa5]){1,512}$","type":"string"},"enable_stream_response":{"default":false,"description":"是否返回流数据","example":false,"type":"boolean"},"enterprise_project_id":{"description":"企业项目ID","example":"test-project-id","maxLength":64,"minLength":0,"type":"string"},"express_config":{"$ref":"#/definitions/ExpressConfig","description":"快速函数流模式配置,当mode为EXPRESS时需要设置"},"functions":{"description":"函数列表","example":[{"metadata":{"action_template_category":"ImageProcess","action_template_name":"third_33353265306163343033633a3138382e3135323a","action_template_provider_name":"iaas_obs_jwx533050_01","dynamic_source":"{\"input\":{\"bucket\":\"\",\"location\":\"\",\"object\":\"\"},\"output\":{\"bucket\":{\"get_input\":\"$.inputs.resize_outbucket\"},\"location\":\"cn-north-7\",\"object\":{\"get_input\":\"$.inputs.resize_outpath\"},\"source_path\":{\"get_input\":\"$.inputs.resize_source_path\"}},\"resize_param\":{\"color\":{\"get_input\":\"$.inputs.resize_color\"},\"h\":{\"get_input\":\"$.inputs.resize_h\"},\"l\":{\"get_input\":\"$.inputs.resize_l\"},\"limit\":{\"get_input\":\"$.inputs.resize_limit\"},\"m\":{\"get_input\":\"$.inputs.resize_m\"},\"p\":{\"get_input\":\"$.inputs.resize_p\"},\"s\":{\"get_input\":\"$.inputs.resize_s\"},\"w\":{\"get_input\":\"$.inputs.resize_w\"}}}"},"name":"func1","operation":"urn:fss:cn-north-7:c53626012ba84727b938ca8bf03108ef:function:default:workflow_python:latest"}],"items":{"$ref":"#/definitions/Function"},"maxItems":100,"minItems":0,"type":"array"},"mode":{"default":"NORMAL","description":"函数流模式,当前支持两种模式\nNORMAL: 标准模式,普通模式面向普通的业务场景,支持长时间任务,支持执行历史持久化和查询,只支持异步调用\nEXPRESS: 快速模式,快速模式面向业务执行时长较短,需要极致性能的场景,只支持流程执行时长低于5分钟的场景,不支持执行历史持久化,支持同步和异步调用\n默认为标准模式","enum":["NORMAL","EXPRESS"],"example":"NORMAL","type":"string"},"name":{"description":"函数流名称","example":"test-flow","maxLength":64,"minLength":1,"pattern":"^([_a-zA-Z0-9().-]|[\\u4e00-\\u9fa5]){1,64}$","type":"string"},"retries":{"description":"重试策略清单","items":{"$ref":"#/definitions/Retry"},"maxItems":200,"minItems":0,"type":"array"},"start":{"description":"流程开始节点ID","example":"Start","maxLength":256,"minLength":1,"type":"string"},"states":{"description":"函数流节点清单,定义参考SleepState和OperationState","example":[{"action_mode":"","actions":[],"end":true,"id":"End","name":"End","state_data_filter":{"input":"","output":""},"transition":"","type":"End"},{"action_mode":"sequential","actions":[{"function_ref":{"arguments":{"Records":"$.Records","dynamic_source":{"input":{"bucket":"","location":"","object":""},"output":{"bucket":"$.inputs.resize_outbucket | $.constants.inputs.resize_outbucket.value","location":"cn-north-7","object":"$.inputs.resize_outpath | $.constants.inputs.resize_outpath.value","source_path":"$.inputs.resize_source_path | $.constants.inputs.resize_source_path.value"},"resize_param":{"color":"$.inputs.resize_color | $.constants.inputs.resize_color.value","h":"$.inputs.resize_h | $.constants.inputs.resize_h.value","l":"$.inputs.resize_l | $.constants.inputs.resize_l.value","limit":"$.inputs.resize_limit | $.constants.inputs.resize_limit.value","m":"$.inputs.resize_m | $.constants.inputs.resize_m.value","p":"$.inputs.resize_p | $.constants.inputs.resize_p.value","s":"$.inputs.resize_s | $.constants.inputs.resize_s.value","w":"$.inputs.resize_w | $.constants.inputs.resize_w.value"}},"execution_name":"$.execution_name","graph_name":"$.graph_name","inputs":"$.inputs"},"ref_name":"func1"},"invoke_mode":"synchronize"}],"end":false,"id":"633a3138382e3135323a","name":"633a3138382e3135323a","state_data_filter":{"input":"$","output":"$"},"transition":"End","type":"Operation"}],"items":{"$ref":"#/definitions/OperationState"},"maxItems":100,"minItems":1,"type":"array"},"triggers":{"description":"触发器列表","example":[{"enabled":true,"trigger_config":{"bucket":"trigger-bucket","events":["OBJECT_CREATED_PUT","OBJECT_REMOVED_DELETE"],"prefix":"test","suffix":"py"},"trigger_name":"test-trigger-obs","trigger_type":"OBS"},{"enabled":true,"trigger_name":"test-trigger-smn","trigger_type":"SMN"}],"items":{"$ref":"#/definitions/Trigger"},"maxItems":200,"minItems":0,"type":"array"}},"required":["constants","functions","name","retries","start","states"]},"WorkflowSimpleInfo":{"description":"函数流详情","properties":{"created_by":{"description":"流程创建者","example":"admin","maxLength":64,"minLength":0,"type":"string"},"created_time":{"description":"流程创建时间,格式:yyyy-MM-ddTHH:mm:ssZ,UTC时间","example":"2021-01-01T00:00:00Z","maxLength":64,"minLength":0,"type":"string"},"description":{"description":"流程定义描述","example":"desc","maxLength":512,"minLength":0,"type":"string"},"enable_stream_response":{"description":"函数流是否返回流式数据","example":false,"type":"boolean"},"id":{"description":"唯一标识ID,流程定义ID","example":"48aff955-ea10-4ffd-b426-190bc192dc14","maxLength":64,"minLength":1,"type":"string"},"name":{"description":"流程定义名称","example":"test-flow","maxLength":64,"minLength":1,"type":"string"},"updated_time":{"description":"流程修改时间,格式:yyyy-MM-ddTHH:mm:ssZ,UTC时间","example":"2021-01-01T00:00:00Z","maxLength":64,"minLength":0,"type":"string"},"workflow_urn":{"$ref":"#/definitions/WorkflowUrn"}},"required":["created_by","created_time","description","id","name","updated_time","workflow_urn","enable_stream_response"]},"WorkflowUrn":{"description":"函数工作流URN, 格式为:\nurn:fss:<region_id>:<project_id>:workflow:\\<package\\>:<workflow_name>:\\<version\\>\n注意:\npackage当前只支持default\nversion当前只支持latest","example":"urn:fss:cn-north-7:73d69ae0cfcf460190522d060f05ad:workflow:default:testflow:latest","maxLength":64,"minLength":1,"type":"string"}},"description":null,"group_id":"cb46b925a4eb40a192520da4fc33b990","host":"functiongraph.cn-north-4.myhuaweicloud.com","id":"956b0216c60845f8a25a651b571ba2b0","info_version":"v2","method":"post","name":"CreateWorkflow","parameters":{},"paths":{"/v2/{project_id}/fgs/workflows":{"post":{"description":"创建函数流","operationId":"CreateWorkflow","parameters":[{"description":"租户project_id","in":"path","name":"project_id","required":true,"type":"string"},{"description":"创建函数流的body体","in":"body","name":"CreateWorkflowRequestBody","required":true,"schema":{"$ref":"#/definitions/WorkflowCreateBody"}}],"responses":{"201":{"description":"Created","schema":{"$ref":"#/definitions/WorkflowSimpleInfo"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorRsp400"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/ErrorRsp500"}}},"summary":"创建函数流","tags":["函数流"],"x-produc-type":"functiongraph","x-request-examples-1":{"constants":{},"functions":[{"name":"test","operation":"urn:fss:{regin}:c53626012ba84727b938ca8bf03108ef:test:latest"}],"name":"workflow_test","retries":[{"name":"test"}],"start":"test","states":[{"actions":[{"function_ref":{"arguments":{"execution_name":"$.test"},"ref_name":"test"}}],"end":false,"id":"test","name":"test","transition":"end","type":"Operation"},{"action_mode":"","actions":[],"end":true,"id":"end","name":"end","state_data_filter":{"input":"","output":""},"transition":"","type":"End"}]},"x-request-examples-description-1":"创建函数流。","x-request-examples-text-1":{"constants":{},"functions":[{"name":"test","operation":"urn:fss:{regin}:c53626012ba84727b938ca8bf03108ef:test:latest"}],"name":"workflow_test","retries":[{"name":"test"}],"start":"test","states":[{"actions":[{"function_ref":{"arguments":{"execution_name":"$.test"},"ref_name":"test"}}],"end":false,"id":"test","name":"test","transition":"end","type":"Operation"},{"action_mode":"","actions":[],"end":true,"id":"end","name":"end","state_data_filter":{"input":"","output":""},"transition":"","type":"End"}]},"x-request-examples-url-1":"POST /v2/{project_id}/fgs/workflows","x-support-sdk":"Y"}}},"product_short":"FunctionGraph","region_id":"cn-north-4","schemes":["HTTPS"],"security_definitions":null,"summary":"创建函数流","tags":"函数流","uri":null,"version":"2.0"}