DataWorks通过OpenEvent能力为您提供消息推送订阅能力,同时您可以将服务程序注册为DataWorks的扩展程序,通过扩展程序来卡点并响应订阅的事件消息,以此实现通过扩展程序对特定事件进行消息通知与流程管控。本文为您介绍通过OpenEvent和扩展程序,实现消息通知与流程管控的功能概述与操作流程。
权限说明
开放平台管理员和租户管理员拥有开发者后台的读写权限,其他租户级角色、空间级角色仅拥有开发者后台的只读权限。详情请参见全局级模块权限控制。
仅支持阿里云主账号或者拥有AliyunDataWorksFullAccess权限的RAM用户进行界面相关配置,权限详情请参见产品及控制台权限控制详情:RAM Policy。
使用限制
目前仅面向DataWorks企业版用户公测,华北2(北京)、华东1(杭州)、华东2(上海)、华北3(张家口)、华南1(深圳)、西南1(成都)、美国(硅谷)、美国(弗吉尼亚)、德国(法兰克福)、日本(东京)、中国(香港)、新加坡地域支持该功能。
注意事项
当DataWorks企业版过期、扩展程序被下线或禁用时,扩展程序便会失效,其控制的相关流程检查与阻塞将不生效,相关流程系统将直接通过。
扩展程序处于测试中、已上线状态时,不会直接生效,需工作空间管理员在管理中心、扩展程序设置页面启用后才会生效。
处于测试中状态,仅测试工作空间可启用。
处于已上线状态,当前地域的所有工作空间均可启用。
扩展程序在上线前需提交至DataWorks平台审核,审核通过后,方可操作上线。
说明通常,审核将在
T+3
工作日内完成,请耐心等待。扩展点事件分为租户级和空间级,注册扩展程序时,仅支持选择某一类型的扩展点事件。DataWorks支持的扩展点事件所属的类型,详情请参见支持的扩展点事件列表。
通过函数计算方式部署的扩展程序目前仅支持处理数据下载前置事件。
产品能力
DataWorks作为阿里云一站式大数据开发与治理平台,在各项能力支持上预设了很多拓展点,例如,在标准模式下,简略来看,节点创建后完成代码开发后,需先提交到开发环境中进行验证,完成后再正式发布到生产环境中,后续每天根据调度配置定时运行,如果节点不再需要,可删除节点。
该流程中DataWorks预置了几个扩展点,您可基于扩展点增加自定义管控流程。例如下列场景:
增加代码评审流程。
当用户单击提交节点时,流程进入自定义代码评审流程中,不直接提交到开发环境中进行验证。自定义评审流程通过后再提交至开发环境。
增加发布前审核流程。
当用户单击发布节点时,流程进入自定义发布前审核流程中,不直接发布到生产环境。自定义审核流程通过后,再发布至生产环境。
上述场景中的流程管控,是通过DataWorks提交文件扩展点和发布文件扩展点实现流程卡点,并通过您注册在DataWorks上的扩展程序实现自定义流程管控。
在DataWorks中,您可通过如下两种方式将自己开发的应用注册并部署为一个扩展程序,实现自定义流程管控。
方式 | 描述 |
自建服务 | 通过自建服务开发部署扩展程序,并通过OpenEvent和OpenAPI进行扩展程序与DataWorks的通信,实现自定义流程控制。该方式:
|
函数计算 | 通过函数计算开发部署扩展程序,特定事件消息后续将直接下发至该服务。该方式:
|
操作流程
实现自定义管控流程的操作步骤如下:
开发部署扩展程序。
自建服务方式:开发部署扩展程序:自建服务方式。
函数计算方式:开发部署扩展程序:函数计算方式。
同时,扩展程序为您提供的参数配置和选项配置,便于您灵活高效地使用扩展程序,应用详情请参见高级应用:扩展程序参数配置、高级应用:扩展程序选项配置。
测试应用扩展程序。
扩展程序开发部署完成后,您即可在DataWorks的测试工作空间中测试扩展程序是否符合预期,完成测试后上线扩展程序,由管理员在使用的工作空间中启用扩展程序。详情请参见测试应用扩展程序。
支持的扩展点事件列表
当前支持通过扩展程序处理的扩展点事件分类及事件详情如下表。
开发部署扩展程序时,需使用以下各扩展点事件的事件编码信息,各事件的事件编码详情请参见开发参考:扩展事件编码。
通过函数计算部署的扩展程序目前仅支持处理数据下载前置事件。
应用范围 | 系统模块 | 扩展点事件 | 回调校验结果的OpenAPI |
空间级 | 数据开发 | 说明 仅标准模式工作空间支持发布相关扩展点。 | 您可通过UpdateIDEEventResult接口将事件处理结果回调至DataWorks。 |
运维中心 | 您可通过UpdateWorkbenchEventResult接口将事件处理结果回调至DataWorks。 | ||
安全中心 | 您可通过CallbackExtension接口将事件处理结果回调至DataWorks。 | ||
数据资产 |
| ||
租户级 | 管理控制台 | ||
下载中心 |
以DataStudio中节点提交事件为例,流程如下图所示。更多扩展点的触发应用示例可参见应用示例:数据开发过程触发事件检查、应用示例:运维中心触发事件检查。