OpenEvent概述

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

前提条件

  • 目前OpenEvent面向DataWorks企业版用户,华北2(北京)、华东1(杭州)、华东2(上海)、华北3(张家口)、华南1(深圳)、西南1(成都)、美国(硅谷)、美国(弗吉尼亚)、德国(法兰克福)、日本(东京)、中国(香港)、新加坡地域支持该功能。

  • OpenEvent通过EventBridge实现消息的订阅与消费,所以您需要先开通EventBridge产品服务,关于EventBridge产品介绍详情请参见:什么是事件总线EventBridge

权限说明

  • 开放平台管理员租户管理员拥有开发者后台的读写权限,其他租户级角色、空间级角色仅拥有开发者后台的只读权限。详情请参见全局级模块权限控制

  • 仅支持阿里云主账号或者拥有AliyunDataWorksFullAccess权限的RAM用户进行界面相关配置,权限详情请参见产品及控制台权限控制详情:RAM Policy

背景信息

DataWorks已开放DataWorks侧核心流程的状态变更消息,并支持将消息推送至OpenEvent服务,您可通过DataWorks的OpenEvent模块对空间消息进行推送管理,并结合事件总线EventBridge服务实现DataWorks事件消息的过滤与消费管理。

image

相关概念

DataWorks事件消息按照是否可在DataWorks形成流程卡点,分为普通事件扩展点事件。

  • 普通事件:您可以在本地开发程序用于接收该类型的事件消息,以便您基于自身业务进行个性化响应。

  • 扩展点事件:兼容普通事件特性与能力,此外,该类型事件还支持将本地程序注册为DataWorks扩展程序,以此实现通过扩展程序对DataWorks中的用户操作行为进行自定义逻辑处理并实现拦截阻断等行为管控。

DataWorks事件消息按照事件生效范围,将事件划分空间级事件租户级事件

  • 空间级事件:空间级模块生成的事件为空间级事件,例如数据开发模块中对节点运行产生的事件消息、运维中心模块周期实例状态变更产生的事件消息等。

  • 租户级事件:租户级模块生成的事件为租户级事件,例如管控台删除空间所产生的事件消息。您可通过下文各模块事件列表了解各个模块支持的事件消息中,哪些为普通事件,哪些为扩展点事件,以及对应事件的发送的消息格式。

支持订阅的事件类型

下表为空间级和租户级分别支持的扩展点事件普通事件

空间级事件

数据开发

数据开发消息格式详情请参见:数据开发事件列表

事件类型

事件

普通事件

扩展点事件

示例

节点相关

新增节点

image

image

新建节点发布生产

更新节点

image

image

  • 开发环境修改节点

  • 修改操作发布生产

文件相关

  • 节点

  • 资源

  • 函数

删除文件

image

image

  • 在DataStudio删除节点、资源、函数

  • 在DataStudio回收站中删除节点、资源、函数

提交文件

image

image

在DataStudio提交某个节点、资源或函数。

发布文件

image

image

在DataS tudio发布某个已提交节点、资源或函数。

运行代码

image

image

在DataStudio运行节点代码。

节点代码评审

image

image

在DataStudio团队成员可以在代码提交前对代码进行评审,并提供评价和反馈。

表相关

表提交开发环境

image

image

表提交扩展点事件:例如在表管理中提交某个表。

表发布生产环境

image

image

表发布扩展点事件:例如在表管理中发布某个表。

说明

仅标准模式工作空间支持在表管理中发布表,因此表发布扩展点事件仅存在于标准模式下。

运维中心

运维中心消息格式详情请参见:运维中心事件列表

事件类型

事件

普通事件

扩展点事件

示例

节点变更

删除节点

image

image

  • 任务发布界面发布下线任务操作。

  • 周期任务页面直接下线任务。

下线节点

image

image

周期任务界面下线任务。

冻结节点

image

image

周期任务界面冻结任务。

解冻节点

image

image

周期任务界面解冻任务。

节点补数据

节点补数据

image

image

  • 对周期任务进行补当前节点数据的操作。

  • 对周期任务进行补当前节点数据及下游节点数据的操作。

  • 通过海量节点模式进行补数据。

  • 通过高级模式进行补数据。

任务状态变更

调度任务状态变更

image

image

如下场景会触发调度任务状态变更事件:

  • 调度任务下发至数据质量进行数据校验。

  • 调度任务校验分支条件。

  • 任务定时触发、手动触发或事件触发。任务状态将从等待资源变更为运行中

  • 调度任务执行完成(即执行成功或失败)。任务状态将从运行中变更为执行成功

  • 调度任务执行失败后选择重新执行任务。任务状态将从执行失败变更为运行中

  • 调度定时任务。任务状态会变更为等待定时时间(DueTime或cycleTime)到来。

实例运维

冻结实例

image

image

在运维中心对某个实例进行以下操作。

  • 解冻实例。

  • 冻结实例。

  • 终止实例。

  • 重跑实例。

  • 置成功实例。

解冻实例

image

image

终止实例

image

image

重跑实例

  • 重跑

  • 重跑下游

image

image

置成功实例

image

image

工作流状态变更

工作流状态变更

  • 补数据实例

  • 手动业务流程

image

image

  • 执行补数据操作时产生的工作流状态监控。

  • 运行手动业务流程时产生的工作流状态监控。

监控告警

监控告警

image

image

  • 基线告警示例:某个基线上任务预计完成时间太晚,触发基线告警。

  • 事件告警示例:某个基线上任务运行失败,触发事件告警。

  • 规则告警示例:创建了一个针对孤立节点的报警规则后,当工作流中出现了孤立节点,触发了此规则告警。

安全中心

安全中心消息格式详情请参见:安全中心事件列表

事件类型

事件

普通事件

扩展点事件

示例

申请单创建/审批

创建申请单

image

image

例如在安全中心内,数据访问控制 > 权限申请页面对函数资源,进行权限申请单的创建。

完成申请单

image

image

例如在安全中心数据访问控制 > 权限审批页面,审批所有项目下的表、资源和函数的权限。

表权限变更

表权限申请

image

image

例如用户根据需求申请特定表的读取、写入、修改等权限。

数据质量

数据质量消息格式详情请参见:数据质量事件列表

事件类型

事件

普通事件

扩展点事件

示例

数据质量校验

校验结果反馈

image

image

用户对校验结果的反馈。

例如,在数据治理的数据质量模块,给某个表启用了表行数大于0的规则,页面上用户可以对某次校验结果进行反馈,当用户执行了反馈操作,系统会把用户反馈的内容(校验规则ID、反馈内容等)发送给订阅端。

校验完成

image

image

规则校验完毕发送规则校验结果(是否通过、样本等信息)

例如,在数据治理的数据质量模块,给某个表启用了表行数大于0的规则,触发了规则并且规则校验完毕,会把规则校验结果(是否通过、样本等信息)发送给订阅端。

租户级事件

管控台

管控台消息格式详情请参见:管控台事件列表

事件类型

(点击查看消息格式)

事件

普通事件

扩展点事件

示例

删除项目空间

删除空间前置

image

image

用户在工作空间列表删除某个工作空间前,将触发该事件。同时,删除项目空间前置事件还会触发相应扩展程序进行流程卡点

删除空间后置

image

image

上传与下载

上传与下载消息格式详情请参见:上传与下载事件列表

事件类型

(单击查看消息格式)

事件

普通事件

扩展点事件

数据下载与上传

数据下载前置-文件生成

image

image

当用户在下载中心进行数据下载操作。

在实际的数据下载操作之前,会触发数据下载前置事件,以获取即将进行的下载操作的相关信息。

数据下载前置-文件下载

image

image

数据上传前置

image

image

应用优势

DataWorks的OpenEvent具备以下优势:

  • 节省运维成本:

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

  • 提升开发效能:

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

  • 实现个性化需求:

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