DataWorks的OpenEvent通过EventBridge为您提供事件消息订阅与发送服务。在EventBridge中创建自定义总线后,您需要在DataWorks中配置消息事件分发通道,以便在EventBridge中创建规则并完成事件的发布。本文为您介绍如何开启消息订阅服务与配置自定义总线。
注意事项
目前OpenEvent面向DataWorks企业版用户公测,华北2(北京)、华东1(杭州)、华南1(深圳)、华东2(上海)、华北3(张家口)、华南1(深圳)、西南1(成都)、美国(硅谷)、美国(弗吉尼亚)、德国(法兰克福)、日本(东京)、中国(香港)、新加坡地域支持该功能。
OpenEvent通过EventBridge实现消息的订阅与消费,所以您需要先开通EventBridge产品服务,关于EventBridge产品介绍详情请参见:什么是事件总线EventBridge。
仅支持阿里云主账号或者有AliyunDataWorksFullAccess权限的RAM用户权限的用户可以直接进行界面相关配置,关于DataWorks权限说明,详情请参见产品及控制台权限控制详情:RAM Policy。
EventBridge侧:开通EventBridge并创建自定义事件总线
开通EventBridge服务,请参考开通事件总线EventBridge并授权。
进入EvenBridge控制台,在左侧导航栏单击事件总线。
在页面右上角单击自定义事件总线后的快速创建按钮,跳过事件源等配置,快速创建一个自定义总线。
说明您在创建用于DataWorks消息订阅的自定义总线时,先跳过添加事件源和创建事件规则的步骤。
DataWorks侧:添加事件分发通道
授权DataWorks访问EventBridge资源。
如果您是首次使用,会出现单击授权按钮,并且添加事件分发通道按钮将置灰,您需要单击授权按钮,授权DataWorks访问EventBridge资源,授权后将自动在RAM访问控制的 中增加自动创建一个服务关联角色AliyunServiceRoleForDataWorksOpenPlatform。关于该RAM角色的相关说明,详情请参见AliyunServiceRoleForDataWorksOpenPlatform权限说明。
说明主账号及有AliyunDataWorksFullAccess权限的RAM账号可直接单击授权。无上述权限的RAM账号将无法进行授权操作,您需要为该RAM账号授予Aliyundataworksfullaccess权限,操作详情请参见:主账号如何给子账号添加Aliyundataworksfullaccess权限?。
添加事件分发通道。
支持指定将DataWorks某个工作空间中的事件分发到EventBridge的某个自定义总线中,之后您可以通过EventBridge来订阅和消费DataWorks事件消息。添加事件分发通道步骤如下:
单击添加事件分发通道,进入添加事件分发通道弹框。
选择配置要分发事件的工作空间和指定分发到EventBridge中自定义总线。
说明如果您还没有已创建完成的自定义总线,您可以
单击创建自定义总线跳转到EventBridge控制台,参考上文EventBridge侧:开通EventBridge并创建自定义事件总线步骤,先创建一个自定义总线。
单击快捷创建与工作空间同名的自定义总线,DataWorks会自动为您快速创建一个与工作空间同名的自定义总线。
单击确定,完成添加事件分发通道。
EventBridge侧:创建自定义事件总线规则
登录并进入EvenBridge控制台,在创建的自定义总线中创建事件规则,其中关键配置注意事项为:
事件消息中:
data:为消息实体格式,各类DataWorks事件类型的消息实体格式详情请参见附录:发送给EventBridge的消息格式。
source:定义事件的产品名称标识,通常配置为acs.dataworks。
您可参考最佳实践:自定义任务发布封网管控中的示例代码,配置符合您业务要求的事件规则。
创建事件规则的操作详情请参见事件规则概述。
EventBridge侧:创建目标
配置完事件总线后,您可以在EvenBridge控制台创建目标,基于目标消费事件。详情请参见事件目标概述。
DataWorks侧:管理事件分发通道
DataWorks提供事件分发通道的管理操作,您可对事件分发通道进行启用、禁用、删除等操作。
启用:启用该事件分发通道后,该工作空间的事件消息将会推送至EventBridge中对应的事件总线。
禁用:禁用该事件分发通道后,该工作空间的事件消息将停止向EventBridge中对应的事件总线推送,您将无法通过EventBridge接收到相应的事件消息。
删除:删除该事件分发通道后,该工作空间的事件消息将停止向EventBridge中对应的事件总线推送,您将无法通过EventBridge接收到相应的事件消息。
后续步骤
OpenEvent基于EventBridge实现DataWorks事件消息的分发,您可以在EventBridge订阅事件消息。关于EventBridge相关说明,详情请参见:什么是事件总线EventBridge。