DataWorks的OpenEvent通過EventBridge為您提供事件訊息訂閱與發送服務。在EventBridge中建立自訂匯流排後,您需要在DataWorks中配置訊息事件分發通道,以便在EventBridge中建立規則並完成事件的發布。本文為您介紹如何開啟訊息訂閱服務與配置自訂匯流排。
適用範圍
版本限制:僅支援DataWorks企業版。
地區限制:僅支援華北2(北京)、華東1(杭州)、華南1(深圳)、華東2(上海)、華北3(張家口)、西南1(成都)、美國(矽谷)、美國(維吉尼亞)、德國(法蘭克福)、日本(東京)、中國(香港)、新加坡。
許可權控制:僅開放平台管理員和租用戶系統管理員、阿里雲主帳號或者擁有AliyunDataWorksFullAccess許可權的RAM使用者擁有開發人員背景讀寫權限,許可權控制詳情請參見全域級模組許可權控制、產品及控制台許可權控制詳情:RAM Policy。
關聯產品:OpenEvent通過EventBridge實現訊息的訂閱與消費,需提前開通事件匯流排EventBridge。
注意事項
如果您使用的企業版DataWorks到期,所有擴充程式將會失效,無法再觸發事件檢查。已觸發且未達終態的檢查會自動通過。
工作原理
DataWorks 已開放核心流程的狀態變更訊息。您可以在 DataWorks 開放平台的 OpenEvent 模組中,通過設定 DataWorks 空間與 EventBridge 事件匯流排的映射關係,將某個空間內所有已開放的訊息推送至 EventBridge 的指定事件匯流排。隨後,您可以前往 EventBridge 服務進行更進一步的訊息管理,例如從 DataWorks 發送至 EventBridge 的所有事件訊息中篩選出最終目標端需要消費的訊息,並定義這些事件訊息最終發送到哪類服務或如何被消費。
租戶層級模組的操作產生的訊息將自動推送至 EventBridge 預設的事件匯流排Default中。支援的租戶級事件請參見租戶級事件。
DataWorks側
DataWorks需要通過配置事件分發通道,將事件訊息推送至EventBridge事件匯流排中,所以需要在DataWorks產品側按照以下步驟完成DataWorks與EventBridge的服務授權,以及指定DataWorks開放的訊息推送至EventBridge的事件匯流排。
步驟一:服務授權
初次使用OpenEvent服務,請使用主帳號或擁有AliyunDataWorksFullAccess許可權的RAM帳號,參考以下步驟,實現DataWorks可訪問EventBridge服務。
進入開放平台頁面。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的,單擊進入開放平台,進入開發人員後台頁面。
-
在開放平台的開發人員後台頁面,單擊左側導覽列中的OpenEvent,進入OpenEvent頁面。
-
授權DataWorks訪問EventBridge資源。
若您是首次使用,則會出現單擊授權按鈕,您需根據介面指引授權DataWorks訪問EventBridge資源。授權後將自動在RAM存取控制的中建立一個服務關聯角色AliyunServiceRoleForDataWorksOpenPlatform。
步驟二:配置事件分發通道
事件分發通道能將DataWorks空間與EventBridge事件匯流排映射起來,即是通過事件分發通道指定DataWorks某工作空間下所有已開放的訊息推送至EventBridge某事件匯流排。
-
單擊添加事件分發通道按鈕,會出現添加事件分發通道的彈窗,在彈窗內配置要分發事件的工作空間和指定分發到EventBridge中自訂匯流排。
-
若您在EventBridge內無可用的事件匯流排,也可以通過直接單擊建立自訂匯流排,跳轉至事件匯流排EventBridge建立自訂事件匯流排或單擊快捷創建與工作空間同名的自定義總線快速建置事件匯流排。
在添加事件分發通道對話方塊中,選擇要分發事件的工作空間和指定分發到EventBridge中自訂匯流排,單擊確定。
步驟三:開啟事件分發通道
事件分發通道配置完成後,可在OpenEvent的頁面內查看建立的分發通道。在其操作列,可對分發通道執行刪除、啟用、禁用操作。
-
啟用:啟用該事件分發通道後,該工作空間的事件訊息將會推送至EventBridge中對應的事件匯流排。
可通過EventBridge控制台查看DataWorks推送至EventBridge的所有事件訊息,篩選出最終目標端需要消費的訊息,並定義這些訊息最終發送到哪些服務以及如何消費。
-
禁用/刪除:禁用或刪除該事件分發通道後,該工作空間的事件訊息將停止向EventBridge中對應的事件匯流排推送,您將無法通過EventBridge接收到相應的事件訊息。
EventBridge側
DataWorks事件分發通道開啟後,DataWorks已開放的訊息將自動推送至EventBridge事件匯流排,需要在EventBridge產品側配置篩選,篩選出DataWorks發送至EventBridge的所有事件訊息中需要被消費的訊息,並定義這些事件訊息,最終發送到哪類服務或如何被消費。
步驟一:建立自訂事件匯流排
若在步驟二:配置事件分發通道建立的與DataWorks工作空間同名的自訂匯流排,直接使用該事件匯流排,若是單擊建立自訂匯流排,可按照以下步驟自訂匯流排。EventBridge詳情請參見事件匯流排概述。
-
進入EventBridge控制台後,單擊左側導覽列內事件總線跳轉至事件匯流排頁面。
-
進入事件匯流排後,在自訂事件匯流排內單擊快速建立,建立事件匯流排。以下為手動建立自訂事件匯流排
DataWorks2023。自訂事件匯流排的名稱和描述配置完畢後,事件來源、規則、目標均可跳過,快速建立一個事件匯流排。
步驟二:配置事件規則
建立好事件匯流排後,可手動為事件匯流排配置事件規則實現將DataWorks的事件訊息推送至相應服務中。
-
在左側導覽列單擊事件總線,找到需要配置資料過濾與指定路由服務的EventBridge事件匯流排,單擊進入事件規則配置頁面。
-
在事件規則頁面單擊左上方的創建規則按鈕,進行事件規則的建立。
-
配置基本資料:填寫事件規則的名稱和描述。在配置基本資料步驟中,事件匯流排預設顯示為
DataWorks2023(不可編輯),名稱填寫instanceStatusChanges(2~127 個字元,可由字母、數字或短劃線組成),描述填寫「用於從空間所有事件訊息中過濾出【調度任務狀態變更】訊息」。 -
配置事件模式 :通過模式內容過濾事件訊息,按照以下範例進行配置:
-
事件來源類型:選擇自訂事件來源。
-
事件來源:保持預設。
-
模式內容:利用JSON來進行配置相應的事件訊息類型,DataWorks每個事件訊息都有固定的訊息類型,您可通過開發參考:事件列表與訊息格式查看擷取DataWorks各類操作對應的訊息類型,並作為模式內容的type鍵的值進行配置。
{ "source": [ "acs.dataworks" ], "type": [ "dataworks:InstanceStatusChanges:InstanceStatusChanges" ] }
-
-
事件模式調試 :完成事件模式配置後,可通過事件模式調實驗證模式內容是否符合預期。
若已完成DataWorks側的步驟三:開啟事件分發通道,此時的DataWorks事件訊息已經可正常發送至EventBridge,您可在EventBridge事件追蹤頁面,查詢該事件匯流排中DataWorks的所有事件,在操作列單擊某一事件詳情,複製事件詳情資訊,填寫至事件模式調試中單擊測試查看過濾是否生效。
-
當事件類型不一致時,進行測試會出現匹配失敗字樣。
-
當事件類型一致時,進行測試會出現匹配通過,事件可正常被觸發字樣。
-
-
配置事件目標:事件目標除可以推送至自建服務外,還可以推送至更多目標,用於消費事件,詳情請參考事件目標概述。
配置事件目標時,服務類型選擇HTTPS,URL填入HTTPS服務地址(例如
https://example.com/eventBridge/dataworksEvent),Body選擇完整事件,網路類型選擇公網。說明按圖示上的配置是將訊息推送至指定的HTTPS服務,若希望擴充程式接收此訊息,您可以選擇服務類型為HTTPS,並在URL配置為擴充程式部署地址即可。
-
完成並儲存事件規則配置後,即可通過事件匯流排EventBridge實現對DataWorks事件訊息的分發路由,以及為後續的擴充程式(Extensions)提供支援。
查看推送的事件訊息
當DataWorks的事件分發通道開啟,且在DataWorks中觸發事件,您可在DataWorks事件分發綁定的事件匯流排的事件追蹤頁面,根據事件類型擷取不同事件訊息,事件類型可通過開發參考:事件列表與訊息格式擷取。
在事件追蹤頁面,選擇按時間範圍查詢,設定時間範圍後單擊查詢,即可查看 DataWorks 觸發的事件記錄,例如事件類型為 dataworks:FileChange:DeployFile(部署檔案)和 dataworks:FileChange:CommitFile(提交檔案)的事件。每條記錄可通過事件軌跡和事件詳情查看詳細資料。
最佳實務
本地服務訂閱訊息:最佳實務:自訂任務發布封網管控。