DataWorks通过OpenEvent能力为您提供消息推送订阅能力,同时您可以将服务程序注册为DataWorks的扩展程序,通过扩展程序来卡点并响应订阅的事件消息,以此实现通过扩展程序对特定事件进行消息通知与流程管控。本文为您介绍通过OpenEvent和扩展程序实现消息通知与流程管控的功能概述。
使用限制
- 目前仅面向DataWorks企业版用户公测,华北2(北京)、华东1(杭州)、华东2(上海)、华北3(张家口)、华南1(深圳)、西南1(成都)、美国(硅谷)、美国(弗吉尼亚)、德国(法兰克福)、日本(东京)、中国(香港)、新加坡地域支持该功能。
- 仅支持阿里云主账号或者有AliyunDataWorksFullAccess权限的RAM用户权限的用户可以直接进行界面相关配置,关于DataWorks权限说明,详情请参见产品及控制台权限控制详情:RAM Policy。
注意事项
产品能力

- 增加代码评审流程。
当用户单击提交节点时,流程进入自定义代码评审流程中,不直接提交到开发环境中进行验证。自定义评审流程通过后再提交至开发环境。
- 增加发布前审核流程。
当用户单击发布节点时,流程进入自定义发布前审核流程中,不直接发布到生产环境。自定义审核流程通过后,再发布至生产环境。
- 通过OpenEvent实现扩展消息订阅。
OpenEvent通过EventBridge为您提供部分事件的消息订阅,详情请参见OpenEvent概述。完成订阅后,您可以获取到对应事件的消息详情,例如,提交节点为文件提交类事件,这类事件的消息详情会包含节点ID、操作人UID、项目空间ID等信息。各类事件的消息格式详情请参见附录:发送给EventBridge的消息格式。
- 通过扩展程序实现扩展点事件处理。
DataWorks支持将用户的服务程序注册为扩展程序,订阅接收到事件消息后,通过扩展程序处理事件并将处理结果通过OpenAPI返回给DataWorks。其中,支持通过扩展程序处理事件的扩展点列表详情请参见下文的支持的扩展点事件列表。
- 通过OpenAPI实现扩展点事件处理结果回调。扩展点事件触发等待扩展程序处理过程中,当前的流程会变为“检查中”状态,OpenAPI会将扩展程序的处理结果返回给DataWorks,DataWorks根据反馈结果状态继续流程。
- 处理结果为通过:事件符合扩展程序校验逻辑,当前流程通过后继续,状态从“检查中”变为“通过”。
- 处理结果为不通过:事件不符合扩展程序校验逻辑,需阻塞此次流程,状态从“检查中”变为“不通过”。
支持的扩展点事件列表
当前支持通过扩展程序处理的扩展点事件分类及事件详情如下表。系统模块 | 支持的扩展点 | 扩展点事件 | 回调校验结果的OpenAPI |
---|---|---|---|
数据开发 | 文件提交扩展点 | 文件提交前置事件:例如节点、资源、函数的提交操作。 | 您可通过UpdateIDEEventResult这个API将事件处理结果回调至DataWorks。 |
文件发布扩展点 | 文件发布前置事件:例如节点、资源、函数的发布操作。 说明 仅标准模式工作空间支持该扩展点。 | ||
文件运行扩展点 | 文件运行前置事件:例如运行节点代码。 | ||
文件删除扩展点 | 文件删除前置事件:例如在删除某个节点、资源、函数。 | ||
表提交扩展点 | 表提交前置事件:例如表管理提交表。 | ||
表发布扩展点 | 表发布前置事件:例如表管理发布表。 说明 仅标准模式工作空间支持该扩展点。 | ||
运维中心 | 冻结节点 | 节点冻结前置事件:例如在运维中心冻结某个节点。 | 您可通过UpdateWorkbenchEventResult这个API将事件处理结果回调至DataWorks。 |
解冻节点 | 节点解冻前置事件:例如在运维中心解冻某个节点。 | ||
下线节点 | 节点下线前置事件:例如在运维中心下线某个节点。 | ||
补数据 | 补数据前置事件:例如在运维中心进行补数据操作。 |

操作流程
- 准备工作:
开启消息订阅,并注册扩展程序,获取开发扩展程序所需的必要信息。详情请参见准备工作。
- 开发部署扩展程序。
根据已获取的信息,开发扩展程序,并将扩展程序部署为一个应用服务。详情请参见开发部署扩展程序。
同时扩展程序为您提供的参数配置和选项配置,便于您灵活高效的使用扩展程序,应用详情请参见高级应用:扩展程序参数配置、高级应用:扩展程序选项配置。
- 测试应用扩展程序。
扩展程序开发部署完成后,您即可在DataWorks的测试工作空间中测试扩展程序是否符合预期,完成测试后上线扩展程序,由管理员在使用的工作空间中启用扩展程序。详情请参见测试应用扩展程序。