本文介绍DataWorks的事件类型、消息格式、以及消息中各字段含义,本文档可帮助您快速获取和查询相应的事件列表以及消息格式的信息。
背景介绍
在DataWorks中,事件根据是否能在DataWorks内部形成卡点,以及是否能在被自建服务订阅后返回处理结果,被划分为普通事件和扩展点事件。
普通事件:用户可订阅此类事件消息,但不支持阻断DataWorks内部操作,您可以通过OpenEvent订阅此类事件消息,详情请参见开放事件(OpenEvent)。
扩展点事件:用户订阅这类事件消息后,您可以通过DataWorks开放平台的扩展程序功能自定义事件消息的响应。即当使用扩展程序(Extensions)对扩展点的操作进行管控时,DataWorks平台使用者在平台侧针对扩展点的操作将被中断,直至您自定义的扩展程序返回处理结果。
本列表按照模块将各模块支持的事件及该事件所属类型(普通事件或扩展点事件)进行划分,并列出EventBridge 事件类型(Type)以及扩展程序事件编码(eventCode)。
EventBridge 事件类型(Type):用于过滤事件消息的字段。具体详情请参见开启消息订阅。
扩展程序事件编码(eventCode):事件类型对应的事件编码,在本地开发时,该编码可从DataWorks发出的消息内容中获取,用来判断目标事件类型。
空间级事件
空间级模块生成的是事件为空间级事件,例如数据开发模块中对节点运行产生的事件消息、运维中心模块周期实例状态变更产生的事件消息等。您可通过下文事件列表了解各个模块支持的事件消息中,哪些为普通事件,哪些为扩展点事件,以及对应事件的发送的消息格式。
以下消息格式页签仅包含部分内容,发送给EventBridge或函数计算的完整消息,您需要结合附录:消息格式。
数据开发事件列表
事件列表
事件类型 | 事件 | 普通事件 | 扩展点事件 | EventBridge事件类型(Type) | 扩展程序事件编码(eventCode) |
节点相关 | 新增节点
|
|
| ||
更新节点
|
|
| |||
文件相关
| 删除文件
|
|
| ||
提交文件 |
|
| |||
发布文件 |
|
| |||
运行代码 |
|
| |||
节点代码评审 |
|
| |||
表相关 | 表提交开发环境 |
|
| ||
表发布生产环境 |
|
|
消息格式
节点开发事件(新增、更新)
文件变更事件(提交、发布、运行、删除、代码评审)
表变更事件(提交表至开发环境、发布表至生产环境)
运维中心事件列表
事件列表
事件类型 | 事件 | 普通事件 | 扩展点事件 | EventBridge事件类型 (Type) | 扩展程序事件类型(eventCode) |
节点变更 | 删除节点
|
|
| ||
下线节点
|
|
| |||
冻结节点 |
|
| |||
解冻节点 |
|
| |||
节点补数据 | 节点补数据 |
|
| ||
任务状态变更 | 调度任务状态变更 |
|
| ||
实例运维 | 冻结实例 |
|
| ||
解冻实例 |
|
| |||
终止实例 |
|
| |||
重跑实例
|
|
| |||
置成功实例 |
|
| |||
工作流状态变更 | 工作流状态变更
|
|
| ||
监控告警 | 监控告警 |
|
|
消息格式
节点变更事件(删除、下线、冻结、解冻)
节点补数据
任务状态变更事件
实例操作事件(冻结、解冻、终止、重跑、置成功)
工作流状态变更事件
监控告警
安全中心事件列表
事件列表
事件类型 | 事件 | 普通事件 | 扩展点事件 | EventBridge事件类型 (Type) | 扩展程序消息类型(eventCode) |
审批中心(创建、完成申请单) | 创建申请单 |
|
| ||
完成申请单 |
|
| |||
安全中心(表权限申请) | 表权限申请 |
|
|
消息格式
消息实体格式:审批中心(创建、完成申请单)
消息实体格式:安全中心(表权限申请)
附录:授权内容列表(MaxCompute)
附录:授权内容列表(DataService)
数据质量事件列表
事件列表
事件类型 | 事件 | 普通事件 | 扩展点事件 | EventBridge事件类型 (Type) | 扩展程序事件类型(eventCode) |
数据质量校验 | 校验结果反馈
|
| | ||
校验完成
|
|
|
消息格式
消息实体格式:数据质量校验
租户级事件
租户级模块生成的是租户级事件,例如管控台删除空间所产生的事件消息。您可通过下文事件列表了解各个模块支持的事件消息中,哪些为普通事件,哪些为扩展点事件,以及对应事件的发送的消息格式。
以下消息格式页签仅包含部分内容,发送给EventBridge或函数计算的完整消息,您需要结合附录:消息格式。
管控台事件列表
事件列表
事件类型 | 事件 | 普通事件 | 扩展点事件 | EventBridge事件类型(Type) | 扩展程序事件类型(eventCode) |
删除项目空间 | 删除空间前置 |
|
| ||
删除空间后置 |
|
|
消息格式
消息实体格式:删除项目空间事件
上传与下载事件列表
事件列表
事件类型 | 事件 | 普通事件 | 扩展点事件 | EventBridge事件类型(Type) | 扩展程序事件类型(eventCode) |
数据下载与上传 | 数据下载前置-文件生成 | dataworks:ResourcesDownload:DownloadResources | download-resources | ||
数据下载前置-文件下载 | dataworks:ResourcesDownload:DownloadResourcesExecute | download-resources-execute | |||
数据上传前置 | dataworks:ResourcesUpload:UploadDataToTable | upload-data-to-table |
消息格式
消息实体格式:数据下载与上传
附录:消息格式
发送给EventBridge的消息格式
在配置开放事件(OpenEvent)添加事件分发通道后,若在DataWorks内触发空间级或租户级事件后,会按照在事件总线(EventBridge)中的配置的事件类型(Type)进行过滤,以下为DataWorks通过事件分发通道发送至事件总线EventBridge的消息格式。
{
"datacontenttype": "application/json;charset=utf-8",//参数data的内容形式。datacontenttype只支持application/json格式。
"data": {
//消息类型不同,消息内容也不同。以下为消息中固定的两个字段。各事件消息请参见上文。
"tenantId": 28378****10656,//租户id,DataWorks每个阿里云主账号对应一个租户,每个租户有自己的租户id,该值您可在DataWorks数据开发右上角用户信息查看。
"eventCode": "xxxx"//
},
"id": "539fd8f4-4ea1-4625-aa8b-6c906674****",//事件ID。标识事件的唯一值。
"source": "acs.dataworks",//事件源,提供事件的服务,说明此消息由dataworks推送。
"specversion": "1.0",
"subject": "",
"time": "2020-11-19T21:04:41+08:00",//事件产生时间。
"type": "dataworks:InstanceStatusChanges:InstanceStatusChanges",//事件类型。该事件类型可在EventBridge控制台对DataWorks推送的全量消息进行过滤,每个事件的事件Type值不同,请参见上文获取不同事件消息类型。
"aliyunaccountid": "123456789098****",//阿里云主账号ID
"aliyunpublishtime": "2020-11-19T21:04:42.179PRC",//EventBridge接收事件的时间。
"aliyuneventbusname": "default",//用于接收DataWorks事件消息的EventBridge事件总线名称。
"aliyunregionid": "cn-hangzhou",//接收事件的地域。
"aliyunpublishaddr": "172.25.XX.XX"
}
一个完整的事件消息包括消息的实体格式,以及消息的ID、来源、产生时间等基础信息。其中,重要字段的详细说明如下表。
字段名称 | 字段类型 | 说明 |
data | object | 消息实体格式。不同类型事件的消息格式及其包含的字段含义存在差异,详情请参见: 数据开发事件消息格式:数据开发事件列表。 运维中心事件消息格式:运维中心事件列表。 安全中心事件消息格式:安全中心事件列表。 数据质量事件消息格式:数据质量事件列表。 |
id | String | 事件消息的唯一ID。用于定位事件消息。 |
type | String | 事件类型。用于描述事件源相关的事件类型。取值示例如下:
该事件类型可在EventBridge控制台对DataWorks推送的全量消息进行过滤,每个事件的事件Type值不同,请参见上文获取不同事件消息类型。 |
发送给函数计算的消息格式
在DataWorks上配置扩展程序(Extensions):函数计算方式时,DataWorks会将触发对应的扩展点事件时的消息以JSON的形式将消息发送至函数计算,以下为发送至函数计算的消息格式。
{
"blockBusiness": true,
"eventCategoryType": "resources-download",//事件类别
"eventType": "upload-data-to-table",//事件类型
"extensionBizId": "job_6603643923728775070",
"messageBody": {
//消息类型不同,消息内容也不同。以下为消息中固定的两个字段。各事件消息请参见上文。
"tenantId": 28378****10656,//租户id,DataWorks每个阿里云主账号对应一个租户,每个租户有自己的租户id,该值您可在DataWorks数据开发右上角用户信息查看。
"eventCode": "xxxx"//
},
"messageId": "52d44ee7-b51f-4d4d-afeb-*******"//事件ID。标识事件的唯一值。
}
重要字段详细说明如下:
字段名称 | 字段类型 | 说明 | |
messageId | String | 事件ID,标识事件的唯一值。 | |
messageBody | DataWorks推送的具体事件消息,您可在开发扩展程序中使用,消息类型不同,此部分内容也不同。 | ||
tenantId | 租户id,DataWorks每个阿里云主账号对应一个租户,每个租户有自己的租户id,该值您可在DataWorks数据开发右上角用户信息查看 | ||
eventCode | 事件编码。用于标识某一类事件消息,各事件类型对应的eventCode请查阅开发参考:事件列表与消息格式表格中扩展程序事件类型(eventCode)列。 |