DataWorks的OpenEvent旨在将DataWorks的各类状态变更以消息的方式触达到用户,便于用户订阅并作出个性化的响应,例如,您可以通过OpenEvent订阅表变更,从而实现核心表的实时监控;通过OpenEvent订阅任务变更,以定制化开发实时任务大屏。本文为您介绍OpenEvent的实现原理与配置要点。

注意事项

  • 目前OpenEvent面向DataWorks企业版用户公测,华北2(北京)、华东1(杭州)、华南1(深圳)、华东2(上海)、华北3(张家口)、华南1(深圳)、西南1(成都)、美国(硅谷)、美国(弗吉尼亚)、德国(法兰克福)、日本(东京)、中国(香港)、新加坡地域支持该功能。
  • OpenEvent通过EventBridge实现消息的订阅与消费,所以您需要先开通EventBridge产品服务,关于EventBridge产品介绍详情请参见:什么是事件总线EventBridge
  • 仅支持阿里云主账号或者有AliyunDataWorksFullAccess权限的RAM用户权限的用户可以直接进行界面相关配置,关于DataWorks权限说明,详情请参见产品及控制台权限控制详情:RAM Policy

支持订阅的事件类型

DataWorks支持订阅的事件从事件类型上可以分为普通事件扩展点事件
  • 普通事件:支持用户订阅此类事件的消息。
  • 扩展点事件:用户订阅此类事件的消息后,还可联合DataWorks的扩展程序功能,在收到事件消息后实现自定义响应。
DataWorks当前支持订阅的事件覆盖了运维中心、DataStudio和数据治理三个功能模块中的事件,详情如下表所示。
所属模块事件细分事件描述与类型事件示例
运维中心实例状态变更事件
  • 描述:任务在运维中心运行时,实例状态发生变更而触发的事件。
  • 类型:实例状态变更事件为普通事件,您可以订阅此类事件消息,获知事件状态的实时变化情况。
例如,运维中心的周期实例,从未运行变为运行中、从运行中变为运行失败。运行流程图
实例操作事件
  • 描述:在运维中心对实例进行冻结、解冻等操作的事件。
  • 类型:实例操作变更事件为普通事件,您可以订阅此类事件消息,获知事件状态的实时变化情况。
例如,在运维中心对某个实例进行冻结的操作。
工作流状态变更事件
  • 描述:任务在运维中心运行时,工作流状态发生变更而触发的事件。
  • 类型:工作流状态变更事件为普通事件,您可订阅此类事件消息,获知事件状态的实时变化情况。
  • 执行补数据操作时产生的工作流状态监控。
  • 运行手动业务流程时产生的工作流状态监控。
节点变更事件在运维中心(生产环境)的节点变更事件,包括普通事件扩展点事件
  • 普通事件:您可以在本地开发程序用于接收该类型的事件消息,以便您基于自身业务进行个性化响应。
    • 新增节点事件
    • 更新节点事件
    • 删除节点事件
  • 扩展点事件:兼容普通事件特性,此外,该类型事件还支持将本地程序注册为DataWorks扩展程序,实现扩展程序对扩展点事件的自定义逻辑处理与流程管控。
    • 下线节点前置事件
    • 冻结节点前置事件
    • 解冻节点前置事件
说明 此处节点特指生产运维中心周期任务列表中的任务。
补数据操作事件
  • 描述:在运维中心(生产环境)的节点进行补数据操作触发的事件。
  • 类型:属于扩展点事件
事件示例如下。
  • 对周期任务进行补当前节点的操作。
  • 对周期任务进行补当前节点及下游节点的操作。
  • 通过海量节点模式进行补数据。
  • 通过高级模式进行补数据。
监控告警监控告警事件
  • 描述:在运维中心中,触发DataWorks的告警机制的事件。
  • 类型:属于普通事件
事件示例如下。
  • 基线告警示例:某个基线上任务预计完成时间太晚,触发基线告警。
  • 事件告警式例:某个基线上任务运行失败,触发事件告警。
  • 规则告警示例:创建了一个针对孤立节点的报警规则后,当工作流中出现了孤立节点,触发了此规则告警。
DataStudio文件变更事件
  • 描述:在DataStudio中,文件(节点、资源或函数)出现状态变更时触发的事件。
  • 类型:属于扩展点事件,您可以订阅此类事件消息,并联合扩展程序的功能,订阅此类事件后实现自定义响应。
事件示例如下。
  • 文件提交扩展点事件:

    例如提交某个节点、资源或函数。

  • 文件发布扩展点事件:

    例如发布某个节点、资源或函数。

  • 节点运行扩展点事件:

    例如运行节点代码。

  • 文件删除扩展点事件:

    例如删除某个节点、资源、函数。

表变更事件
  • 描述:在DataStudio的表管理中,表状态变更时触发的事件。
  • 类型:属于扩展点事件,您可以订阅此类事件消息,并联合扩展程序的功能,订阅此类事件后实现自定义响应。
事件示例如下。
  • 表提交扩展点事件:例如在表管理中提交某个表。
  • 表发布扩展点事件:例如在表管理中发布某个表。
    说明 仅标准模式工作空间支持在表管理中发布表,因此表发布扩展点事件仅存在于标准模式下。
安全中心审批中心事件
  • 描述:在数据治理模块中,创建申请单和完成申请单触发的事件。
  • 类型:属于扩展点事件,您可以订阅此类事件消息,获知事件状态的实时变化情况。
事件示例如下。
  • 创建申请单事件:例如在数据地图中,在权限管理页面单击申请函数和资源权限,进行申请单的创建。
  • 完成申请单事件:例如在数据地图中,当访问账号为管理员时,在权限管理页面单击待我审批选项卡,审批所有项目下的表、资源和函数的权限。
数据质量数据质量校验结果反馈事件
  • 描述:在数据治理模块中,启用了数据质量监控规则后,发送监控规则的校验结果。
  • 类型:属于普通事件,您可以订阅此类事件消息,获知事件状态的实时变化情况。
例如,在数据治理的数据质量模块,给某个表启用了表行数大于0的规则,页面上用户可以对某次校验结果进行反馈,当用户执行了反馈操作,系统会把用户反馈的内容(校验规则ID、反馈内容等)发送给订阅端。
数据质量校验完成事件
  • 描述:在数据治理模块中,触发某个数据质量校验规则之后,发送校验完成后的状态。
  • 类型:属于普通事件,您可以订阅此类事件消息,获知事件状态的实时变化情况。
例如,在数据治理的数据质量模块,给某个表启用了表行数大于0的规则,触发了规则并且规则校验完毕,会把规则校验结果(是否通过、样本等信息)发送给订阅端。
说明 由于网络时延问题,OpenEvent的消息发送可能存在一定延迟。

配置流程

了解上述原理后,您可根据实际情况规划并应用DataWorks的OpenEvent功能,实现关键事件的消息订阅,应用流程与配置要点如下。

  1. 事件总线 EventBridge 控制台开通事件总线EventBridge,创建自定义总线。
  2. 在DataWorks端添加事件分发通道。
  3. 事件总线 EventBridge 控制台配置事件总线。
  4. 事件总线 EventBridge 控制台发布事件,详情请参见发布事件

应用优势

DataWorks的OpenEvent具备以下优势:
  • 节省运维成本:

    通过开启DataWorks开放平台的消息订阅功能,您可以很方便的订阅事件消息。

  • 提升开发效能:

    通过在DataWorks界面上创建相关配置,您无需再进行发送消息相关配置,仅需做好相关SDK开发的准备配置工作及订阅消息配置,节省繁杂的手工操作。

  • 实现个性化需求:

    DataWorks提供丰富的事件类型,您可以通过订阅不同事件类型的消息,快速感知业务状态变化信息,及时做好个性化响应和决策。