界面概览

云工作流提供一个低代码、可视化的工作流设计器Workflow Studio,您可以直接在Workflow Studio创建和编辑工作流流程、为流程中各步骤配置输入输出过滤规则以及配置错误处理规则等。本文介绍Workflow Studio的界面总览。

为了帮助您构建可视化工作流、编辑其定义和管理其配置,Workflow Studio 提供了两种编辑方式:CloudFlow Studio编辑YAML编辑,同时提供了工作流配置。简单来说,CloudFlow Studio编辑是通过拖拽状态到流程画布来设计流程,YAML编辑是用手写代码来精确设定流程,而工作流配置则是设置流程的基础信息以及执行工作流时所使用的角色,从而使工作流可以获得角色所拥有的权限。

CloudFlow Studio编辑

CloudFlow Studio提供了一个图形界面,可在您构建工作流原型时对其进行可视化。下图显示了该编辑方式中可用的不同组件。

image

  • 菜单栏

    您可以在Workflow Studio的CloudFlow StudioYAML工作流配置之间进行切换。

  • ②状态浏览区

    包含3个页签,操作流程模式

    操作页签提供云工作流可集成的包括弹性计算、互联网中间件、数据库以及人工智能在内的阿里云产品的API列表,您可以将其拖放到流程画布中,每个API代表一种任务状态节点。

    流程页签提供状态列表,负责状态流转,不负责具体执行内容。提供选择(Choice)并行(Parallel)迭代(Map)传递(Pass)等待(Wait)成功(Succeed)失败(Fail)七种流程节点。

    模式页签提供多个云工作流提前预置的构建模块。您可以拖曳这些模块至画布,快速创建流程。

  • ③流程画布

    您可以拖曳状态浏览区的操作流程模式页签中任意节点到此画布中,还可以拖动调整流程中已有状态的顺序,定制所需任务流程。

  • 参数配置区

    您在流程画布中定制的流程中,单击任意一个状态,即可在右侧的参数配置区配置和查看状态属性。

  • 功能按钮区

    一组常见的功能按钮,包括工作流流程的保存退出以及用执行流程的按钮。

下面详细介绍一下CloudFlow Studio编辑页签的三大操作区域。

状态浏览区

在状态浏览区,在操作流程模式页签的列表中,选择您要拖放到画布中的状态节点(API)或流程节点。您也可以在状态浏览区顶部的搜索框输入关键字搜索所需节点。

image

流程图画布

在流程图画布中,支持通过拖曳方式定制适合您业务的流程图,同时支持在线调试功能,编辑的同时执行调试,便于直接生成可执行的流程。

生成流程图

选择状态浏览区的状态节点(API)或流程节点并拖曳至右侧的画布,待出现一条横线或竖线时放开鼠标,将其放至所需位置,定制完全符合您业务的流程图。生成流程图的同时将自动生成代码,无需手动编写。

image.png

您还可以单击画布左上角的按钮放大缩小画布、居中流程图、删除选中的状态节点(API)或流程节点以及撤销上一步动作等。

image.png

调试流程

定制或编辑流程图过程中,如您已完成状态节点的参数配置,可以对流程进行在线调试。光标移至某状态节点,单击右侧的image.png图标进行调试,调试完成后单击image.png查看调试结果。

image.png

参数配置区

将状态浏览区的状态节点(API)或流程节点拖放至流程画布后,您需要对其进行配置。单击选中画布中需要配置的节点,右侧参数配置区将显示其配置选项,包括基本配置输入配置输出配置错误处理

image

本文以任务状态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格式的代码编辑器和图表可视化,对您的编写的代码进行实时可视化。下图显示了该编辑方式中可用的不同组件。

image

  • 菜单栏

    您可以在Workflow Studio的CloudFlow StudioYAML工作流配置之间进行切换。

  • ②YAML代码编辑区

    您可以在这里通过YAML格式编写和编辑工作流流程。

  • ③图表可视化

    显示工作流的实时可视化,并可以对流程进行删除处理。

  • 功能按钮区

    一组常见的功能按钮,包括工作流流程的保存退出以及用执行流程的按钮。

下面详细介绍一下YAML编辑页签的两大操作区域。

YAML代码编辑区

YAML代码编辑器可以让您在WorkFlow Studio中使用YAML格式去编写和编辑工作流。更新工作流定义时,图表可视化会呈现工作流的实时图表。您还可以在CloudFlow Studio中查看更新的工作流图表。

如果在CloudFlow Studio中重新排序、删除或添加状态,或者在图表可视化删除状态,则YAML代码会自动更新。

图表可视化

图表可视化可让您实时看到该工作流的整体架构。当在YAML代码编辑器中编写工作流定义时,图表可视化会呈现工作流的实时图表。当在图表可视化中的状态被删除时,代码编辑器中的工作流定义会自动更新。同样,当您在YAML代码编辑器中更新工作流定义、重新排序、删除或添加状态时,图表可视化也会自动更新。

如果工作流定义中的YAML无效,则图表可视化会暂停渲染。

工作流配置

云工作流配置可用于配置工作流的基础信息,配置执行工作流时所使用的角色。下图展示了您可以在工作流配置界面编辑的配置。

image

  • 菜单栏

    您可以在Workflow Studio的CloudFlow StudioYAML工作流配置之间进行切换。

  • ②基础配置

    您可以详细描述该工作流的业务,该描述将显示在工作流列表中,便于您清晰地识别和理解该工作流所承载的具体业务内容。

  • ③角色配置

    • 选择已经创建的角色:在下拉框中选择角色。确保该角色的策略包含您希望状态机承担的权限。

    • 创建角色:如果选择此选项,会跳转到RAM访问控制的角色界面,进行创建角色,详情请参见创建执行角色

  • 功能按钮区

    一组常见的功能按钮,包括工作流流程的保存退出以及用执行流程的按钮。