云工作流的每个流程由一系列任务节点组成,每个任务作为一个独立单元,代表了执行的具体操作或服务。您可以通过云工作流控制台创建一个流程,来描述和管理您的业务。
操作步骤
登录云工作流控制台,然后在顶部菜单栏,选择地域。
单击创建工作流,在弹出的创建工作流对话框,选择使用空白画布,工作流模式选择快速模式,其他参数保持默认。
说明本文以创建快速模式的工作流为例进行说明,关于云工作流支持的工作流模式,请参见标准工作流和快速工作流。
您可以根据需求在编辑工作流页面进行编辑。编辑工作流的方法有两种:
使用 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编辑
修改流程定义,然后依次单击保存和退出。您也可以在右侧图表区域预览流程图。
如果需要修改流程的描述或配置执行流程使用的角色,单击上方的工作流配置,修改完成后依次单击保存和退出。