開啟消息訂閱
DataWorks的OpenEvent通過EventBridge為您提供事件消息訂閱與發(fā)送服務(wù)。在EventBridge中創(chuàng)建自定義總線后,您需要在DataWorks中配置消息事件分發(fā)通道,以便在EventBridge中創(chuàng)建規(guī)則并完成事件的發(fā)布。本文為您介紹如何開啟消息訂閱服務(wù)與配置自定義總線。
前提條件
已在以下地域擁有DataWorks企業(yè)版。
目前OpenEvent面向DataWorks企業(yè)版用戶,華北2(北京)、華東1(杭州)、華南1(深圳)、華東2(上海)、華北3(張家口)、西南1(成都)、美國(硅谷)、美國(弗吉尼亞)、德國(法蘭克福)、日本(東京)、中國(香港)、新加坡地域支持該功能。
已開通EventBridge服務(wù)。DataWorks OpenEvent依賴于EventBridge的消息分發(fā)能力,通過EventBridge實(shí)現(xiàn)消息的訂閱與消費(fèi),所以您需要先開通EventBridge產(chǎn)品服務(wù),關(guān)于EventBridge產(chǎn)品介紹詳情請(qǐng)參見什么是事件總線EventBridge。
注意事項(xiàng)
權(quán)限控制:僅開放平臺(tái)管理員和租戶管理員、阿里云主賬號(hào)或者擁有AliyunDataWorksFullAccess權(quán)限的RAM用戶擁有開發(fā)者后臺(tái)的讀寫權(quán)限,權(quán)限控制詳情請(qǐng)參見全局級(jí)模塊權(quán)限控制、產(chǎn)品及控制臺(tái)權(quán)限控制詳情:RAM Policy。
版本限制:如果您使用的企業(yè)版DataWorks到期,所有擴(kuò)展程序?qū)?huì)失效,無法再觸發(fā)事件檢查。已觸發(fā)且未達(dá)終態(tài)的檢查會(huì)自動(dòng)通過。
工作原理
DataWorks 已開放核心流程的狀態(tài)變更消息。您可以在 DataWorks 開放平臺(tái)的 OpenEvent 模塊中,通過設(shè)置 DataWorks 空間與 EventBridge 事件總線的映射關(guān)系,將某個(gè)空間內(nèi)所有已開放的消息推送至 EventBridge 的指定事件總線。隨后,您可以前往 EventBridge 服務(wù)進(jìn)行更進(jìn)一步的消息管理,例如從 DataWorks 發(fā)送至 EventBridge 的所有事件消息中篩選出最終目標(biāo)端需要消費(fèi)的消息,并定義這些事件消息最終發(fā)送到哪類服務(wù)或如何被消費(fèi)。
租戶級(jí)別模塊的操作產(chǎn)生的消息將自動(dòng)推送至 EventBridge 默認(rèn)的事件總線Default中。
DataWorks側(cè)
DataWorks需要通過配置事件分發(fā)通道,將事件消息推送至EventBridge事件總線中,所以需要在DataWorks產(chǎn)品側(cè)按照以下步驟完成DataWorks與EventBridge的服務(wù)授權(quán),以及指定DataWorks開放的消息推送至EventBridge的事件總線。
步驟一:服務(wù)授權(quán)
初次使用OpenEvent服務(wù),請(qǐng)使用主賬號(hào)或擁有AliyunDataWorksFullAccess權(quán)限的RAM賬號(hào),參考以下步驟,實(shí)現(xiàn)DataWorks可訪問EventBridge服務(wù)。
進(jìn)入開放平臺(tái)頁面。
登錄DataWorks控制臺(tái),切換至目標(biāo)地域后,單擊左側(cè)導(dǎo)航欄的 ,進(jìn)入開放平臺(tái)的開發(fā)者后臺(tái)頁面。
進(jìn)入OpenEvent頁面。
在開放平臺(tái)的開發(fā)者后臺(tái)頁面,單擊左側(cè)導(dǎo)航欄中的OpenEvent,進(jìn)入OpenEvent頁面。
授權(quán)DataWorks訪問EventBridge資源。
若您是首次使用,則會(huì)出現(xiàn)單擊授權(quán)按鈕,您需根據(jù)界面指引授權(quán)DataWorks訪問EventBridge資源,授權(quán)后將自動(dòng)在RAM訪問控制的 中創(chuàng)建一個(gè)服務(wù)關(guān)聯(lián)角色AliyunServiceRoleForDataWorksOpenPlatform。關(guān)于該RAM角色的相關(guān)說明,詳情請(qǐng)參見附錄:DataWorks服務(wù)關(guān)聯(lián)角色。
步驟二:配置事件分發(fā)通道
事件分發(fā)通道能將DataWorks空間與EventBridge事件總線映射起來,即是通過事件分發(fā)通道指定DataWorks某工作空間下所有已開放的消息推送至EventBridge某事件總線。
進(jìn)入OpenEvent頁面。
在開放平臺(tái)的開發(fā)者后臺(tái)頁面,單擊左側(cè)導(dǎo)航欄中的OpenEvent,進(jìn)入OpenEvent頁面。
配置事件分發(fā)通道。
單擊添加事件分發(fā)通道按鈕,會(huì)出現(xiàn)添加事件分發(fā)通道的彈窗,在彈窗內(nèi)配置需要分發(fā)事件的工作空間和指定分發(fā)到EventBridge中自定義總線。
說明若您在EventBridge內(nèi)無可用的事件總線,也可以通過直接單擊創(chuàng)建自定義事件總線,跳轉(zhuǎn)至事件總線EventBridge創(chuàng)建自定義事件總線或單擊快捷創(chuàng)建與工作空間同名的自定義總線快速生成事件總線。
租戶級(jí)別模塊操作產(chǎn)生的消息將自動(dòng)推送至
EventBridge
自帶的事件總線Default
中,若要接收租戶級(jí)模塊產(chǎn)生的事件消息,您可跳過此步驟。
步驟三:開啟事件分發(fā)通道
事件分發(fā)通道配置完成后,可在OpenEvent的頁面內(nèi)查看創(chuàng)建的分發(fā)通道。在其操作列,可對(duì)分發(fā)通道執(zhí)行刪除、啟用、禁用操作。
啟用:啟用該事件分發(fā)通道后,該工作空間的事件消息將會(huì)推送至EventBridge中對(duì)應(yīng)的事件總線。
可通過EventBridge控制臺(tái)查看DataWorks推送至EventBridge的所有事件消息,篩選出最終目標(biāo)端需要消費(fèi)的消息,并定義這些消息最終發(fā)送到哪些服務(wù)以及如何消費(fèi)。
禁用:禁用該事件分發(fā)通道后,該工作空間的事件消息將停止向EventBridge中對(duì)應(yīng)的事件總線推送,您將無法通過EventBridge接收到相應(yīng)的事件消息。
刪除:刪除該事件分發(fā)通道后,該工作空間的事件消息將停止向EventBridge中對(duì)應(yīng)的事件總線推送,您將無法通過EventBridge接收到相應(yīng)的事件消息。
單擊啟用后,事件分發(fā)通道將處于啟用狀態(tài),通過該通道分發(fā)到事件總線的消息會(huì)按照規(guī)則推送至配置的事件目標(biāo)中。
EventBridge側(cè)
DataWorks事件分發(fā)通道開啟后,DataWorks已開放的消息將自動(dòng)推送至EventBridge事件總線,需要在EventBridge產(chǎn)品側(cè)配置篩選,篩選出DataWorks發(fā)送至EventBridge的所有事件消息中需要被消費(fèi)的消息,并定義這些事件消息,最終發(fā)送到哪類服務(wù)或如何被消費(fèi)。
步驟一:創(chuàng)建自定義事件總線(可選)
若在步驟二:配置事件分發(fā)通道創(chuàng)建的與DataWorks工作空間同名的自定義總線,直接使用該事件總線,若是單擊創(chuàng)建自定義總線,可按照以下步驟自定義總線。EventBridge詳情請(qǐng)參見事件總線概述。
進(jìn)入EventBridge控制臺(tái)后,單擊左側(cè)導(dǎo)航欄內(nèi)事件總線跳轉(zhuǎn)至事件總線頁面。
進(jìn)入事件總線后,在自定義事件總線內(nèi)單擊快速創(chuàng)建,創(chuàng)建事件總線。以下為手動(dòng)創(chuàng)建自定義事件總線
DataWorks2023
。
自定義事件總線的名稱和描述配置完畢后,事件源、規(guī)則、目標(biāo)均可跳過,快速創(chuàng)建一個(gè)事件總線。
租戶級(jí)別模塊操作產(chǎn)生的消息將自動(dòng)推送至
EventBridge
自帶的事件總線Default
中,若要接收租戶級(jí)模塊產(chǎn)生的事件消息,您可跳過此步驟。
步驟二:配置事件規(guī)則
創(chuàng)建好事件總線后,可手動(dòng)為事件總線配置事件規(guī)則實(shí)現(xiàn)將DataWorks的事件消息推送至相應(yīng)服務(wù)中。
進(jìn)入EventBridge控制臺(tái)。
配置事件規(guī)則。
在左側(cè)導(dǎo)航欄單擊事件總線,找到需要配置數(shù)據(jù)過濾與指定路由服務(wù)的EventBridge事件總線,單擊
進(jìn)入事件規(guī)則配置頁面。配置基本信息
在事件規(guī)則頁面單擊左上角的創(chuàng)建規(guī)則按鈕,進(jìn)行事件規(guī)則的創(chuàng)建。
名稱:為規(guī)則進(jìn)行命名即可。
描述:對(duì)該規(guī)則進(jìn)行簡單描述
配置事件模式
通過模式內(nèi)容過濾事件消息,按照以下樣例進(jìn)行配置:
事件源類型:選擇自定義事件源。
事件源:保持默認(rèn)。
模式內(nèi)容:利用JSON來進(jìn)行配置相應(yīng)的事件消息類型,DataWorks每個(gè)事件消息都有固定的消息類型,您可通過開發(fā)參考:事件列表與消息格式查看獲取DataWorks各類操作對(duì)應(yīng)的消息類型,并作為模式內(nèi)容的type鍵的值進(jìn)行配置。
{ "source": [ "acs.dataworks" ], "type": [ "dataworks:InstanceStatusChanges:InstanceStatusChanges" ] }
完成事件模式配置后,可通過事件模式調(diào)試驗(yàn)證模式內(nèi)容是否符合預(yù)期。
若已完成DataWorks側(cè)的步驟三:開啟事件分發(fā)通道,此時(shí)的DataWorks事件消息已經(jīng)可正常發(fā)送至EventBridge,您可在EventBridge事件追蹤頁面,查詢該事件總線中DataWorks的所有事件,在操作列單擊某一事件詳情,復(fù)制事件詳情信息,填寫至事件模式調(diào)試中單擊測試查看過濾是否生效。
當(dāng)事件類型不一致時(shí),進(jìn)行測試會(huì)出現(xiàn)匹配失敗字樣。
當(dāng)事件類型一致時(shí),進(jìn)行測試會(huì)出現(xiàn)匹配通過,事件可正常被觸發(fā)字樣
配置事件目標(biāo)
事件目標(biāo)除了可以推送至自建服務(wù)外,還可以推送至更多目標(biāo),用于消費(fèi)事件,詳情請(qǐng)參考事件目標(biāo)概述。
說明按圖示上的配置是將消息推送至指定的HTTPS服務(wù),若希望擴(kuò)展程序接收此消息,您可以選擇服務(wù)類型為HTTPS,并在URL配置為擴(kuò)展程序部署地址即可
完成并保存事件規(guī)則配置后,即可通過事件總線EventBridge實(shí)現(xiàn)對(duì)DataWorks事件消息的分發(fā)路由,以及為后續(xù)的擴(kuò)展程序(Extensions)提供了支持。
最佳實(shí)踐
本地服務(wù)訂閱消息:最佳實(shí)踐:自定義任務(wù)發(fā)布封網(wǎng)管控。
附錄:查看推送的事件消息
當(dāng)DataWorks的事件分發(fā)通道開啟,且在DataWorks中觸發(fā)了事件,您可在DataWorks事件分發(fā)綁定的事件總線的事件追蹤頁面,根據(jù)事件類型獲取不同事件消息,事件類型可通過開發(fā)參考:事件列表與消息格式獲取。