触发式工作流

触发式工作流适用于无固定调度周期的场景,可通过手动或事件触发运行。本文将介绍如何使用触发式工作流。

背景信息

触发式工作流的核心特点在于其能够灵活响应多种触发条件。用户可以根据需求手动启动工作流,也可以配置事件触发机制,从而实现对特定事件的实时响应。例如,在数据处理场景中,触发式工作流支持通过事件总线EventBridge实现对OSS事件的监控。当OSS中发生特定事件(如文件上传)时,EventBridge会捕获这些事件并将其转化为触发信号,进而触发运行发布到运维中心的触发式工作流。

注意事项

进入新建工作流页面

  1. 进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的快速进入 > Data Studio,进入Data Studio。

  2. 在左侧导航栏单击image,然后在项目目录右侧单击image > 新建工作流,进入新建工作流页面。

    说明

    首次使用项目目录时,也可以直接单击新建工作流按钮进行新建。

新建触发式工作流

  1. 新建工作流页面,选择调度类型触发式调度

    说明
  2. 输入工作流名称,单击确认创建。

设计触发式工作流

在工作流看板左侧,根据需要开发的任务类型选择对应的节点,将其拖拽至画布中,并通过手动连线的方式快速配置节点间的依赖关系。

说明
  • DataWorks将引擎能力封装为节点,您可以基于引擎类型的节点进行可视化数据开发,无需接触复杂的引擎命令行,同时您也可以结合平台提供的通用类型节点进行复杂逻辑处理。

  • 单个工作流最多支持创建400个内部节点,但为了获得最佳的展示和维护体验,建议控制在100个节点以内。

开发触发式工作流

您可通过以下步骤完成工作流的开发。

  1. 进入内部节点编辑页。

    在业务流程看板中,将鼠标移动到目标节点,单击打开节点,进入工作流内部节点的编辑页面。

  2. 开发内部节点。

    在节点编辑页面,快速编辑节点代码。在代码开发时,需注意以下几点:

    • 代码语法取决于您选择的节点类型。不同类型的任务配置不同,配置详情请参见节点开发

    • 您可以启用Copilot智能编程助手,以获得智能代码补全建议,提升开发效率。

    • 对于大多数节点类型,您都可以使用 ${变量名}的方式定义变量,以便在下一步骤调试任务代码时可以代入不同的赋值快速调试。

    • 在执行调度任务时,您可通过${workflow.参数名}方式在内部节点获取工作流参数的赋值。

  3. 调试运行内部节点。

    1. 配置调试参数。代码编辑完成后,您可单击节点编辑页右侧的调试配置,配置调试参数。

      1. 计算资源中指定调试阶段任务下发的计算资源。

      2. DataWorks配置中指定DataWorks任务执行使用的资源组等。

      3. 如果您在代码中通过${变量名}方式定义了变量,则需要在脚本参数中为对应变量名赋值常量。

    2. 调试运行任务。配置完成后,可单击工具栏中的运行按钮,此时将使用您在调试配置中的调试参数运行节点。

调试触发式工作流

开发调试完工作流内部节点任务后,可调试运行工作流任务。

说明

开发环境不支持通过触发方式运行触发式工作流,仅支持手动运行调试工作流。

  1. 单击业务流程看板上方工具栏中的image图标,在填写运行参数弹窗手动输入本次运行值。单击确定

  2. 单击业务流程看板的工作流内部节点,查看任务执行结果。

配置发布触发式工作流

  1. 配置触发器。

    1. 调度策略中配置需要使用的触发器,用来触发工作流执行。

    2. 如无触发器,可单击下拉框中的管理触发器新建触发器

    3. 配置触发器生效日期

      • 永久生效:工作流可以被触发器触发执行的时间范围为永久。

      • 指定时间:可设置工作流可以被触发器触发执行的时间范围。

  2. 选择配置工作流的调度参数信息。

  3. 发布工作流。

    单击工具栏中的image按钮唤起发布看板,单击开始发布生产,任务将按照发布检查流程执行发布操作,更多信息,请参见节点/工作流发布

其他操作

克隆触发式工作流

您可通过克隆功能,快速克隆现有触发式工作流以创建新的工作流。克隆内容包括工作流及其内部节点(含代码调试配置调度配置),以及节点间的依赖关系和工作流本身的调度配置信息。

  1. 在左侧项目目录中,右键单击需要克隆的触发式工作流名称。

  2. 在弹出菜单中选择克隆,进入克隆弹窗。

  3. 在弹窗中修改触发式工作流名称和存储路径(可保留默认值),单击确认开始克隆。

  4. 在克隆过程中,可通过弹窗查看克隆的当前进度持续时间完成节点数等详细信息。

  5. 克隆完成后,可在项目目录中查看新生成的触发式工作流。

  6. 如需在触发式工作流中新增节点,您可以选择通过克隆方式快速创建节点,或者通过拖拽方式创建内部节点

版本管理

系统支持通过版本管理功能将触发式工作流还原到指定的历史版本,同时还提供版本查看与对比功能,方便您分析差异并做出调整。

  1. 在左侧项目目录中,双击目标触发式工作流名称,进入工作流画布。

  2. 单击工作流画布右侧的版本,在版本页面查看和管理开发记录发布记录信息。

    • 查看版本

      1. 您可以在开发记录发布记录页签中,找到需要查看的触发式工作流版本。

      2. 单击操作栏中的查看,在详情页中即可查看触发式工作流代码以及调度配置信息。

        说明

        调度配置信息支持脚本模式可视化模式查看,您可在调度配置页签右上角切换查看模式。

    • 对比版本

      您可以在开发记录发布记录页签中,对不同版本的触发式工作流进行对比。下面以开发记录为例,为您演示对比操作。

      • 开发或发布环境对比:在开发记录页签中,勾选两个版本,单击上方的选择对比按钮,即可对比不同版本的触发式工作流代码信息和调度配置信息。

      • 开发与发布或构建环境对比

        1. 开发记录页签中,定位到触发式工作流的某个版本。

        2. 单击操作栏中的对比按钮,在弹出的请选择对比的内容窗口中选择与发布记录构建记录中的某个版本进行对比。

    • 还原版本

      仅支持将开发记录中的触发式工作流还原到指定的历史版本。您可在开发记录页签中找到目标版本,单击操作栏中的还原按钮,即可将该触发式工作流信息还原至目标版本。

      说明

      还原时,系统会基于目标版本进行恢复,并生成一条新的版本记录。

后续步骤

触发式工作流发布成功后会在运维中心生成触发式工作流任务,您可通过以下方式触发执行触发式工作流。

  • 手动触发:您可通过管理触发式工作流来手动触发执行触发式工作流。

  • 事件触发:您可以在配置触发器事件源的OSS Bucket上传可触发任务执行的文件,从而触发工作流运行。