基于空白画布创建工作流

云工作流的每个流程由一系列任务节点组成,每个任务作为一个独立单元,代表了执行的具体操作或服务。您可以通过云工作流控制台创建一个流程,来描述和管理您的业务。

操作步骤

  1. 登录云工作流控制台,然后在顶部菜单栏,选择地域。

  2. 单击创建工作流,在弹出的创建工作流对话框,选择使用空白画布工作流模式选择快速模式,其他参数保持默认。

    image

    说明

    本文以创建快速模式的工作流为例进行说明,关于云工作流支持的工作流模式,请参见标准工作流和快速工作流

  3. 您可以根据需求在编辑工作流页面进行编辑。编辑工作流的方法有两种:

    使用 CloudFlow Studio

    通过拖拽界面,提供直观的可视化工具来设计和编辑工作流。

    1. CloudFlow Studio编辑页签,选择状态节点或流程节点,将它们拖动至画布所需位置。同时,您也可以调整现有流程图中节点的位置以定制业务流程图。

    2. 依次选中流程图中的状态节点或流程节点,为其设置基本配置输入配置输出配置错误处理

    3. (可选)选择工作流配置页签,设置流程角色信息。然后依次单击保存退出

      说明

      如果您的流程涉及集成云产品服务(包括云工作流),则必须配置已授予相应权限策略的角色,详情请参见执行角色

      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配置文件来定义和管理工作流。

    1. 选择YAML编辑页签,切换为使用脚本创建工作流。在下方左侧代码输入框输入定义工作流的YAML代码。示例代码如下。您可以在下方右侧预览工作流流程图。

    2. (可选)选择工作流配置编辑页签,设置流程角色信息。然后依次单击保存退出

      说明

      如果您的流程涉及集成云产品服务(包括云工作流),则必须配置已授予相应权限策略的角色,详情请参见执行角色

      image

    3. 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:表示使用最新版本的函数,您可以根据需要指定具体的版本或别名。

编辑流程

流程创建完成后,您可以根据界面提示编辑流程、删除流程和查看流程等。本章节重点介绍编辑流程的操作步骤。

  1. 登录云工作流控制台,然后在顶部菜单栏,选择地域。

  2. 工作流列表页面,单击目标工作流。

  3. 在工作流详情页面的右上角,单击编辑工作流,然后选择编辑工作流的方式CloudFlow Studio编辑YAML编辑

    • CloudFlow Studio编辑

      根据需要增删任务状态或编辑任务状态的基本配置输入配置输出配置错误处理,然后依次单击保存退出

    • YAML编辑

      修改流程定义,然后依次单击保存退出。您也可以在右侧图表区域预览流程图。

    如果需要修改流程的描述或配置执行流程使用的角色,单击上方的工作流配置,修改完成后依次单击保存退出

相关文档