全部產品
Search
文件中心

DataWorks:開發參考:事件列表與訊息格式

更新時間:Oct 25, 2024

本文介紹DataWorks的事件類型、訊息格式、以及訊息中各欄位含義,本文檔可協助您快速擷取和查詢相應的事件列表以及訊息格式的資訊。

背景介紹

在DataWorks中,事件根據是否能在DataWorks內部形成卡點,以及是否能在被自建服務訂閱後返回處理結果,被劃分為普通事件和擴充點事件。

  • 普通事件:使用者可訂閱此類事件訊息,但不支援阻斷DataWorks內部操作,您可以通過OpenEvent訂閱此類事件訊息,詳情請參見開放事件(OpenEvent)

  • 擴充點事件:使用者訂閱這類事件訊息後,您可以通過DataWorks開放平台的擴充程式功能自訂事件訊息的響應。即當使用擴充程式(Extensions)對擴充點的操作進行管控時,DataWorks平台使用者在平台側針對擴充點的操作將被中斷,直至您自訂的擴充程式返回處理結果。

本列表按照模組將各模組支援的事件及該事件所屬類型(普通事件擴充點事件)進行劃分,並列出EventBridge 事件類型(Type)以及擴充程式事件編碼(eventCode)

  • EventBridge 事件類型(Type):用於過濾事件訊息的欄位。具體詳情請參見開啟訊息訂閱

  • 擴充程式事件編碼(eventCode):事件類型對應的事件編碼,在本地開發時,該編碼可從DataWorks發出的訊息內容中擷取,用來判斷目標事件類型。

空間級事件

空間級模組產生的是事件為空間級事件,例如資料開發模組中對節點運行產生的事件訊息、營運中心模組周期執行個體狀態變更產生的事件訊息等。您可通過下文事件列表瞭解各個模組支援的事件訊息中,哪些為普通事件,哪些為擴充點事件,以及對應事件的發送的訊息格式。

以下訊息格式頁簽僅包含部分內容,發送給EventBridge或Function Compute的完整訊息,您需要結合附錄:訊息格式

資料開發事件列表

事件列表

事件類型

事件

普通事件

擴充點事件

EventBridge事件類型(Type)

擴充程式事件編碼(eventCode)

節點相關

新增節點

  • 建立節點發布至生產

image

image

dataworks:NodeChange:NodeChangeCreated

node-change-created

更新節點

  • 開發環境修改節點

  • 修改操作發布至生產

image

image

dataworks:NodeChange:NodeChangeUpdated

node-change-updated

檔案相關

  • 節點

  • 資源

  • 函數

刪除檔案

  • 開發環境刪除節點

  • 資源回收筒中刪除節點

image

image

dataworks:FileChange:DeleteFile

delete-file

提交檔案

image

image

dataworks:FileChange:CommitFile

commit-file

發布檔案

image

image

dataworks:FileChange:DeployFile

deploy-file

運行代碼

image

image

dataworks:FileChange:RunFile

run-file

節點程式碼檢閱

image

image

dataworks:FileChange:ReviewFile

review-file

表相關

表提交開發環境

image

image

dataworks:TableChange:CommitTable

commit-table

表發布生產環境

image

image

dataworks:TableChange:DeployTabl

deploy-table

訊息格式

節點開發事件(新增、更新)

節點新增、修改、刪除事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "nodeName": "****",
    "programType": "ODPS_SQL",
    "cronExpress": "00 04 00 * * ?",
    "blockBusiness": false,
    "schedulerType": "NORMAL",
    "ownerId": "19****735",
    "priority": 1,
    "baselineId": 70***287,
    "operator": "19***735", //本次操作人
    "eventCode": "node-change-created",
    "repeatability": true,
    "modifyTime": 17***864,
    "createTime": 17***864,
    "tenantId": 28***656,
    "nodeId": 70***003,
    "projectId": 9***4
  }
}

欄位說明如下:

欄位名稱

欄位類型

說明

nodeName

String

節點名稱。

programType

String

檔案的代碼類型。常用的代碼可以調用ListFileType介面,查詢檔案的代碼類型或查閱文檔DataWorks節點合集

cronExpress

String

周期調度的cron運算式。

該參數與DataWorks控制台中,資料開發任務的調度配置 > 時間屬性 > cron運算式對應。

配置完調度周期定時調度時間後,DataWorks會自動產生相應cron運算式。樣本如下:

  • 每天淩晨5點30分定時調度:00 30 05 * * ?

  • 每個小時的第15分鐘定時調度:00 15 * * * ?

  • 每隔十分鐘調度一次:00 00/10 * * * ?

  • 每天8點到17點,每隔十分鐘調度一次:00 00-59/10 8-17 * * * ?

  • 每月的1日0點20分自動調度:00 20 00 1 * ?

  • 從1月1日0點10分開始,每過3個月調度一次:00 10 00 1 1-12/3 ?

  • 每周二、周五的0點5分自動調度:00 05 00 * * 2,5

說明

cron運算式的限制如下:

  • 最短調度間隔時間為5分鐘。

  • 每天最早調度時間為0點5分。

schedulerType

String

任務執行個體的調度類型,取值如下:

  • 0:NORMAL,正常調度任務。該任務會被日常調度。

  • 1:MANUAL,手動任務。該任務不會被日常調度。

  • 2:PAUSE,凍結任務。該任務被日常調度,但啟動調度時直接被置為失敗狀態。

  • 3:SKIP,空跑任務。該任務被日常調度,但啟動調度時直接被置為成功狀態。

  • 4:SKIP_UNCHOOSE,臨時工作流程中未選擇的任務,僅存在於臨時工作流程中,啟動調度時直接被置為成功狀態。

  • 5:SKIP_CYCLE,未到運行周期的周或月任務。該任務被日常調度,但啟動調度時直接被置為成功狀態。

  • 6:CONDITION_UNCHOOSE,上遊執行個體中有分支(IF)節點,但是該下遊節點未被分支節點選中,直接置為空白跑任務。

  • 7:REALTIME_DEPRECATED,即時產生的已經到期的周期執行個體,該類型任務直接被置為成功狀態。

ownerId

String

節點責任人的阿里雲使用者ID。如果該參數為空白,則預設使用調用者的阿里雲使用者ID。

priority

Integer

任務優先順序,取值為13578。數值越大,優先順序越高。

baselineId

Long

基準ID。

repeatability

Boolean

節點是否可以重複運行:

  • true:可以重複運行。

  • false:不可以重複運行。

modifyTime

Long

節點最近一次的修改時間。

createTime

Long

節點的建立時間。

nodeId

Long

節點ID。

projectId

Long

節點所在的專案空間ID。

tenantId

Long

節點所屬的租戶ID。

operator

String

新增、修改或刪除節點的使用者UID。

eventCode

String

擴充程式事件編碼

檔案變更事件(提交、發布、運行、刪除、程式碼檢閱)

  • 檔案提交、發布事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "fileName": "******",
        "extensionBizId": "eb******9ce",
        "changeType": "0",
        "blockBusiness": false,
        "dataSourceName": "0_******engine",
        "operator": "19***735",
        "eventCode": "commit-file",
        "fileCreateTime": "2024-07-12 11:08:50",
        "tenantId": 28***656,
        "fileOwner": "19***735",
        "fileVersion": 1,
        "projectId": 9***4,
        "fileType": 10,
        "fileId": 50***830,
        "resourceType": 1
      }
    }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    operator

    String

    提交或發布檔案的使用者UID。

    projectId

    Long

    檔案所屬專案空間的ID。

    tenantId

    Long

    租戶ID。

    nodeId

    Long

    調度節點ID。

    fileType

    Long

    檔案的代碼類型,您可以調用ListFileType介面或查詢檔案的代碼類型或查閱文檔DataWorks節點合集

    fileName

    String

    檔案名稱。

    fileOwner

    String

    檔案所有者。

    extensionBizId

    String

    擴充程式卡點流程ID。

    changeType

    String

    檔案的變更類型:

    • UPDATE:更新檔案。

    • DELETE:刪除檔案。

    • CREATE:建立檔案。

    fileCreateTime

    String

    檔案的建立時間,格式為yyyy-MM-dd HH:mm:ss

    fileId

    Long

    檔案ID。

    fileVersion

    Long

    檔案版本。

    dataSourceName

    String

    資料來源名稱。

    eventCode

    String

    擴充程式事件編碼。

  • 檔案刪除、運行事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "fileName": "***",
        "extensionBizId": "bf******6e3",
        "blockBusiness": false,
        "operator": "19***735",
        "eventCode": "delete-file",
        "fileCreateTime": "2024-07-12 11:08:50", //檔案建立時間
        "tenantId": 28***656,
        "fileOwner": "19***735", //檔案所有人
        "nodeId": 70***003,
        "projectId": 9***4,
        "fileType": 10,
        "fileId": 50***830,
        "resourceType": 1
      }
    }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    operator

    String

    刪除或運行檔案的使用者UID。

    projectId

    Long

    檔案所屬專案空間的ID。

    tenantId

    Long

    租戶ID。

    nodeId

    Long

    調度節點ID。

    fileType

    Long

    檔案的代碼類型,您可以調用ListFileType介面,或查詢檔案的代碼類型或查閱文檔DataWorks節點合集

    fileName

    String

    檔案名稱。

    fileOwner

    String

    檔案所有者。

    extensionBizId

    String

    擴充程式卡點流程ID。

    fileCreateTime

    String

    檔案的建立時間,格式為yyyy-MM-dd HH:mm:ss

    fileId

    Long

    檔案ID。

    eventCode

    String

    擴充程式事件編碼。

  • 程式碼檢閱的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data":{
        "id":111,
        "tenantId" : 租戶Id,
        "projectId" : 專案Id,
        "status": "Reviewing",
        "resourceName": "評審檔案",
        "resourceType": "評審類型",
        "resourceId": "50***9789",
        "submitTime": 1688697808000,
        "lastReviewTime": 1688697808000,
        "reviewUrl" : "評審連結",
        "reviewer": "評審人",
        "submitter": "提交人"
      }
    }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    id

    Long

    程式碼檢閱單ID。

    tenantId

    Long

    租戶ID。

    projectId

    Long

    專案空間ID。

    status

    String

    程式碼檢閱單狀態:

    • Initialized:初始化

    • Reviewing:評審中

    • Accepted:評審通過

    • Rejected:評審未通過

    • Canceled:廢棄

    • AutomaticCanceled:自動完成

    resourceName

    String

    評審資源名稱。

    resourceType

    String

    評審資源類型,取值如下:

    • Business:商務程序

    • File:檔案

    • BatchFiles:批量檔案

    resourceId

    String

    評審資源ID。

    submitTime

    Long

    程式碼檢閱提交時間。

    lastReviewTime

    Long

    最近查看評審單的時間。

    reviewUrl

    String

    程式碼檢閱的詳情地址。

    reviewer

    String

    程式碼檢閱的審批人。

    submitter

    String

    程式碼檢閱的提交人。

表變更事件(提交表至開發環境、發行資料表至生產環境)

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "operator": "**************",
    "projectId": 12*****56,
    "tenantId": 12******56,
    "extensionBizId": "123456",
    "tableName":"table1",
    "tableType":"ODPS",  // ODPS或EMR
    "maxComputeProject":"project1"
  }
}

欄位說明如下:

欄位名稱

欄位類型

說明

operator

String

提交或發行資料表的使用者UID。

projectId

Long

專案空間ID。

tenantId

Long

租戶ID。

extensionBizId

String

擴充程式卡點流程ID。

tableName

String

表名稱。

tableType

String

表類型,取值如下:

  • ODPS

  • EMR

maxComputeProject

String

對應MaxCompute的專案名稱。

營運中心事件列表

事件列表

事件類型

事件

普通事件

擴充點事件

EventBridge事件類型

(Type)

擴充程式事件類型(eventCode)

節點變更

刪除節點

  • 發布下線操作

  • 周期任務直接刪除下線

image

image

dataworks:NodeChange:NodeChangeDeleted

node-change-deleted

下線節點

  • 周期任務直接下線

image

image

dataworks:NodeChange:UndeployNode

undeploy-node

凍結節點

image

image

dataworks:NodeChange:FreezeNode

freeze-node

解凍節點

image

image

dataworks:NodeChange:UnFreezeNode

unfreeze-node

節點補資料

節點補資料

image

image

dataworks:BackfillDataOperate:BackfillData

backfill-data

任務狀態變更

調度任務狀態變更

image

image

dataworks:InstanceStatusChanges:InstanceStatusChanges

instance-status-changes

執行個體營運

凍結執行個體

image

image

dataworks:InstanceChange:FreezeInstance

freeze-instance

解凍執行個體

image

image

dataworks:InstanceChange:UnfreezeInstance

unfreeze-instance

終止執行個體

image

image

dataworks:InstanceChange:KillInstance

kill-instance

重跑執行個體

  • 重跑

  • 重跑下遊

image

image

dataworks:InstanceChange:RerunInstance

rerun-instance

置成功執行個體

image

image

dataworks:InstanceChange:SetInstanceSuccess

set-instance-success

工作流程狀態變更

工作流程狀態變更

  • 補資料執行個體

  • 手動商務程序

image

image

dataworks:DagStatusChanges:DagStatusChanges

instance-status-changes

監控警示

監控警示

image

image

dataworks:MonitorAlert:WorkbenchMonitorAlert

workbench-monitor-alert

訊息格式

節點變更事件(刪除、下線、凍結、解凍)

  • 節點刪除事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "nodeName": "",
        "programType": "ODPS_SQL",
        "cronExpress": "00 20 00 * * ?",
        "schedulerType": "NORMAL",
        "ownerId": "1912232488744735",
        "priority": 1,
        "baselineId": 117801853,
        "repeatability": true,
        "modifyTime": 1646364549642,
        "createTime": 1646364549642,
        "datasource": "odps_source",
        "tenantId": 28378****10656,
        "nodeId": 100***150,
        "projectId": 30**95,
        "operator": "**************"  //本次操作人
      }
    }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    nodeName

    String

    節點名稱。

    programType

    String

    檔案的代碼類型。常用的代碼可以調用ListFileType介面,查詢檔案的代碼類型或查閱文檔DataWorks節點合集

    cronExpress

    String

    周期調度的cron運算式。

    該參數與DataWorks控制台中,資料開發任務的調度配置 > 時間屬性 > cron運算式對應。

    配置完調度周期定時調度時間後,DataWorks會自動產生相應cron運算式。樣本如下:

    • 每天淩晨5點30分定時調度:00 30 05 * * ?

    • 每個小時的第15分鐘定時調度:00 15 * * * ?

    • 每隔十分鐘調度一次:00 00/10 * * * ?

    • 每天8點到17點,每隔十分鐘調度一次:00 00-59/10 8-17 * * * ?

    • 每月的1日0點20分自動調度:00 20 00 1 * ?

    • 從1月1日0點10分開始,每過3個月調度一次:00 10 00 1 1-12/3 ?

    • 每周二、周五的0點5分自動調度:00 05 00 * * 2,5

    說明

    cron運算式的限制如下:

    • 最短調度間隔時間為5分鐘。

    • 每天最早調度時間為0點5分。

    schedulerType

    String

    任務執行個體的調度類型,取值如下:

    • 0:NORMAL,正常調度任務。該任務會被日常調度。

    • 1:MANUAL,手動任務。該任務不會被日常調度。

    • 2:PAUSE,凍結任務。該任務被日常調度,但啟動調度時直接被置為失敗狀態。

    • 3:SKIP,空跑任務。該任務被日常調度,但啟動調度時直接被置為成功狀態。

    • 4:SKIP_UNCHOOSE,臨時工作流程中未選擇的任務,僅存在於臨時工作流程中,啟動調度時直接被置為成功狀態。

    • 5:SKIP_CYCLE,未到運行周期的周或月任務。該任務被日常調度,但啟動調度時直接被置為成功狀態。

    • 6:CONDITION_UNCHOOSE,上遊執行個體中有分支(IF)節點,但是該下遊節點未被分支節點選中,直接置為空白跑任務。

    • 7:REALTIME_DEPRECATED,即時產生的已經到期的周期執行個體,該類型任務直接被置為成功狀態。

    ownerId

    String

    節點責任人的阿里雲使用者ID。如果該參數為空白,則預設使用調用者的阿里雲使用者ID。

    priority

    Integer

    任務優先順序,取值為13578。數值越大,優先順序越高。

    baselineId

    Long

    基準ID。

    repeatability

    Boolean

    節點是否可以重複運行:

    • true:可以重複運行。

    • false:不可以重複運行。

    modifyTime

    Long

    節點最近一次的修改時間。

    createTime

    Long

    節點的建立時間。

    nodeId

    Long

    節點ID。

    projectId

    Long

    節點所在的專案空間ID。

    tenantId

    Long

    節點所屬的租戶ID。

    operator

    String

    新增、修改或刪除節點的使用者UID。

  • 節點凍結、解凍、下線事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "operator": "**************",
        "projectId": 123456,
        "tenantId": 123456,
        "nodeIds":[1,2,3],
        "extensionBizId": "123456"
      }
    }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    operator

    String

    凍結、解凍、下線節點的使用者UID。

    projectId

    Long

    節點所在專案空間ID。

    tenantId

    Long

    租戶ID。

    nodeIds

    Array

    被操作的節點ID列表。

    extensionBizId

    String

    擴充程式卡點流程ID 。

節點補資料

補資料操作事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "excludeNodeIds":[],
    "rootNodeId": 10000838271,
    "startFutureInstanceImmediately": false,
    "useMultipleTimePeriods": true,
    "operator": "1320876710332592",
    "eventCode": "backfill-data",
    "multipleTimePeriods": "[{\"bizBeginTime\":\"2022-04-17\",\"bizEndTime\":\"2022-04-17\"}]",
    "parallelGroup": 1,
    "rootNodeProjectId": 12*****8,
    "isParallel": false,
    "name": "P_fff_20220418_215404",
    "tenantId": 16935*****3377,
    "includeNodeIds":
    [
      10***271
    ],
    "projectId": 12958,
    "order": "asc",
    "extensionBizId": "123456"
  }
}

欄位說明如下:

欄位名稱

欄位類型

說明

name

String

補資料工作流程的名稱。

rootNodeId

Long

補資料工作流程根節點ID。

rootNodeProjectId

Long

補資料工作流程根節點所在的專案空間ID。

includeNodeIds

Array

補資料的節點ID列表。

excludeNodeIds

Array

無需補資料的節點ID列表。該列表中的節點會產生空跑執行個體,空跑執行個體被調度後直接運行成功,不會執行指令碼內容。

bizBeginTime

String

任務的開始時間。僅小時調度任務需要設定該參數,格式為HH:mm:ss,取值範圍為 00:00:00~23:59:59

bizEndTime

String

任務的結束時間。僅小時調度任務需要設定該參數,格式為HH:mm:ss,取值範圍為 00:00:00~23:59:59

isParallel

Boolean

補資料操作是否可以並行運行:

  • true:可以並行。

  • false:不可以並行。

parallelGroup

Integer

並行啟動並執行分組數,1表示不分組。

startFutureInstanceImmediately

Boolean

是否跳過調度時間,立即調度運行未來時間的執行個體:

  • true:跳過調度時間,立即執行未來執行個體。

  • false:不跳過調度時間,不會立即執行未來執行個體。

order

String

根據業務日期制定補資料啟動並執行順序:

  • acs:表示按照業務日期正序運行。

  • desc:表示按照業務日期倒序運行。

multipleTimePeriods

String

分段選取業務日期。樣本,[{\"bizBeginTime\":\"2022-04-17\",\"bizEndTime\":\"2022-04-17\"}]

tenantId

Long

租戶ID。

projectId

Long

補資料操作所在的專案ID。

operator

String

執行補資料操作的使用者。

extensionBizId

String

擴充程式卡點流程ID。

eventCode

String

擴充程式事件編碼。

任務狀態變更事件

調度任務狀態變更事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "beginWaitTimeTime": 1652700576000,
    "dagId": 446555330,
    "dagType": 0,
    "eventCode": "instance-status-changes",
    "taskType": 0,
    "modifyTime": 1652700577000,
    "createTime": 1652543233000,
    "appId": 3*****2,
    "tenantId": 235454***432001,
    "opCode": 31,
    "flowId": 1,
    "nodeId": 1002698219,
    "beginWaitResTime": 1652700577000,
    "taskId": 4532688169,
    "status": 3
  }
}

欄位說明如下:

欄位名稱

欄位類型

說明

finishTime

Long

調度任務執行個體運行完成的具體時間。

beginWaitTimeTime

Long

調度任務執行個體開始等待啟動並執行具體時間。

beginRunningTime

Long

調度任務執行個體開始啟動並執行具體時間。

dagId

Long

根據DagId可擷取Dag詳情。

dagType

Integer

Dag的類型,取值如下:

  • 0:周期調度任務

  • 1:手動任務

  • 2:煙霧測試 (Smoke Test)

  • 3:補資料

  • 4:臨時商務程序

  • 5:手動商務程序

taskType

Integer

任務執行個體的調度類型,取值如下:

  • 0:NORMAL,正常調度任務。該任務會被日常調度。

  • 1:MANUAL,手動任務。該任務不會被日常調度。

  • 2:PAUSE,凍結任務。該任務被日常調度,但啟動調度時直接被置為失敗狀態。

  • 3:SKIP,空跑任務。該任務被日常調度,但啟動調度時直接被置為成功狀態。

  • 4:SKIP_UNCHOOSE,臨時工作流程中未選擇的任務,僅存在於臨時工作流程中,啟動調度時直接被置為成功狀態。

  • 5:SKIP_CYCLE,未到運行周期的周或月任務。該任務被日常調度,但啟動調度時直接被置為成功狀態。

  • 6:CONDITION_UNCHOOSE,上遊執行個體中有分支(IF)節點,但是該下遊節點未被分支節點選中,直接置為空白跑任務。

  • 7:REALTIME_DEPRECATED,即時產生的已經到期的周期執行個體,該類型任務直接被置為成功狀態。

modifyTime

Long

任務執行個體最近一次的修改時間。

createTime

Long

任務執行個體的建立時間。

appId

Long

工作空間的ID。您可以調用ListProjects查看空間ID資訊。

tenantId

Long

調度任務執行個體所在工作空間的租戶ID。

opCode

Integer

調度任務執行個體的作業碼。該欄位可忽略。

flowId

Long

商務程序的ID。

  • 周期調度任務執行個體:商務程序ID預設為1。

  • 手動商務程序和內部工作流程的調度任務執行個體:為實際的商務程序ID。

nodeId

Long

調度任務執行個體對應的節點ID。

beginWaitResTime

Long

調度任務執行個體開始等待資源的具體時間。

taskId

Long

調度任務執行個體的ID。

status

Integer

任務的狀態,取值如下:

  • 0:未運行。

  • 2:等待定時時間dueTimecycleTime到來。

  • 3:等待資源。

  • 4:運行中。

  • 7:下發給資料品質進行資料校檢。

  • 8:進行中分支條件校檢。

  • 5:執行失敗。

  • 6:執行成功。

eventCode

String

擴充程式事件編碼。

執行個體操作事件(凍結、解凍、終止、重跑、置成功)

執行個體操作事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "eventCode": "freeze-instance",
    "operator": "182293110403****",
    "projectId": 123488,
    "projectType": "PROD",
    "taskIds": [
      523536569736
    ],
    "tenantId": 280749521950784
  }
}

欄位說明如下

欄位名稱

欄位類型

說明

operator

String

操作執行個體(凍結、解凍、終止、重跑、置成功等操作)使用者的UID。

projectType

String

運行環境。

  • PROD:生產環境

  • DEV:開發環境

taskIds

List<Long>

執行個體的ID集合。

projectId

Long

DataWorks專案空間ID。

tenantId

Long

執行個體所在工作空間的租戶ID。

eventCode

String

擴充程式事件編碼。

工作流程狀態變更事件

工作流程狀態變更事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "bizDate": "2022-11-07 00:00:00",
    "createTime": "2022-11-08 10:56:32",
    "dagId": 500358972116,
    "dagName": "P_test_spark_true_copy_20221108_105631",
    "eventCode": "dag-status-changes",
    "dagType": 3,
    "flowId": 1,
    "flowName": "ATCLOUD_FLOW",
    "operator": "11****538",
    "projectEnv": "PROD",
    "projectId": 25***63,
    "status": 6,
    "tenantId": 52***736
  }
}

欄位說明如下:

欄位名稱

欄位類型

說明

bizDate

String

工作流程的業務日期。格式為yyyy-mm-dd hh24:mi:ss

createTime

String

工作流程的建立時間。格式為yyyy-mm-dd hh24:mi:ss

dagId

Long

DagId,根據DagId可擷取Dag詳情。

dagName

String

工作流程的名稱。

dagType

Integer

Dag的類型,取值如下:

  • 0:周期調度任務。

  • 1:手動任務。

  • 2:煙霧測試 (Smoke Test)。

  • 3:補資料。

  • 4:臨時商務程序。

  • 5:手動商務程序。

flowId

Integer

工作流程對應的商務程序ID。

flowName

String

工作流程對應的商務程序名稱。

operator

String

建立工作流程的使用者UID。

projectEnv

String

工作流程所屬環境,取值如下:

  • DEV:開發環境。

  • PROD:生產環境。

tenantId

Long

調度任務執行個體所在工作空間的租戶ID。

projectId

Long

工作空間ID。

status

Integer

工作流程中任務的狀態,取值如下:

  • 0:未運行。

  • 4:運行中。

  • 5:執行失敗。

  • 6:執行成功。

eventCode

String

擴充程式事件編碼。

監控警示

  • 基準警示的訊息實體格式(即訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "eventCode": "workbench-monitor-alert",
        "alarmType": "SLA_ALERT",
        "baselineId": 137000723,
        "baselineName": "ods層check任務專用 -- 小時級",
        "baselineStatus": 3,
        "bizDate": 1654444800000,
        "inGroupId": 14,
        "nodeId": 10000398734,
        "projectId": 7634,
        "taskId": 3072893778,
        "tenantId": 260953503125729
      }
    }

    欄位說明如下表。

    欄位名稱

    欄位類型

    說明

    alarmType

    String

    警示類型。取值如下:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    baselineId

    Long

    基準ID。

    baselineName

    String

    基準名稱。

    baselineStatus

    Integer

    基準的狀態。取值如下:

    • -1:異常。

    • 1:安全。

    • 2:預警。

    • 3:破線。

    bizDate

    Long

    業務日期時間戳記。

    inGroupId

    Integer

    基準執行個體的周期號。Apsara Infrastructure Management Framework線為1,小時基準的取值範圍為[1,24]

    nodeId

    Long

    導致基準異常的節點ID。

    projectId

    Long

    基準所屬專案空間ID。

    taskId

    Long

    導致基準異常的執行個體ID。

    tenantId

    Long

    租戶ID。

    eventCode

    String

    擴充程式事件編碼。

  • 事件警示的訊息實體格式(即訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "alarmType": "TOPIC_ALERT",
        "nodeId": 10000316315,
        "projectId": 9109,
        "taskId": 3072750357,
        "taskStatus": 5,
        "tenantId": 280749521950784,
        "topicId": 1084769
      }
    }

    欄位說明如下表。

    欄位名稱

    欄位類型

    說明

    alarmType

    String

    警示類型。取值如下:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    topicId

    Long

    事件的ID。

    taskStatus

    String

    觸發事件的節點執行個體狀態。

    nodeId

    Integer

    觸發事件的節點ID。

    projectId

    Long

    觸發事件的節點所屬專案空間ID。

    taskId

    Long

    觸發事件的節點執行個體ID。

    tenantId

    Long

    租戶ID。

  • 任務規則警示的訊息實體格式(即訊息中data欄位的內容)樣本如下。

    說明

    通常,規則對象為任務節點、基準、工作空間、商務程序等。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "alarmType": "REMIND_ALERT",
        "nodeIds": "10000405472,10000405473,10000405474",
        "projectId": 9876,
        "remindId": 7605,
        "remindName": "出錯警示",
        "remindType": "ERROR",
        "remindUnit": "NODE",
        "taskIds": "3072900896,3072900870,3072900855",
        "tenantId": 259025816027648
      }
    }

    欄位說明如下表。

    欄位名稱

    欄位類型

    說明

    alarmType

    String

    警示類型。取值如下:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    nodeIds

    String

    觸發規則警示的節點列表。

    remindId

    Long

    規則ID。

    remindType

    Stirng

    規則引發條件。取值如下:

    • FINISHED:完成。

    • UNFINISHED:未完成。

    • ERROR:運行出錯。

    • CYCLE_UNFINISHED:周期未完成。

    • TIMEOUT:運行逾時。

    projectId

    Long

    觸發規則的節點所屬專案空間ID。

    remindUnit

    String

    觸發規則的物件類型。取值如下:

    • NODE:任務節點。

    • GATEWAY_RES:獨享調度資源群組。

    • DI_RES:Data Integration資源群組。

    tenantId

    Long

    租戶ID。

    taskId

    String

    觸發規則警示的執行個體列表。

    remindName

    String

    規則名稱。

  • 資源群組規則警示的訊息實體格式(即訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "alarmType": "REMIND_ALERT",
        "projectId": 2991,
        "remindId": 200000186,
        "remindName": "獨享資源群組警示",
        "remindType": "RES_GROUP_THRESHOLD",
        "remindUnit": "GATEWAY_RES",
        "resourceGroupIdentifier": "S_res_group_195820716552192_1650965857744",
        "resourceGroupName": "emr_exclusive_scheduld",
        "resourceGroupType": "GATEWAY",
        "tenantId": 195820716552192
      }
    }

    欄位說明如下表。

    欄位名稱

    欄位類型

    說明

    alarmType

    String

    警示類型。取值如下:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    remindId

    Long

    規則ID。

    remindType

    Stirng

    規則引發條件。取值如下:

    • FINISHED:完成。

    • UNFINISHED:未完成。

    • ERROR:運行出錯。

    • CYCLE_UNFINISHED:周期未完成。

    • TIMEOUT:運行逾時。

    • RES_GROUP_THRESHOL:資源群組利用率。

    • RES_GROUP_WAIT_AMOUNT:資源群組等待資源執行個體數。

    projectId

    Long

    觸發規則的節點所屬專案空間ID。

    remindUnit

    String

    觸發規則的物件類型。取值如下:

    • NODE:任務節點。

    • GATEWAY_RES:獨享調度資源群組。

    • DI_RES:Data Integration資源群組。

    tenantId

    Long

    租戶ID。

    remindName

    String

    規則名稱。

    resourceGroupIdentifier

    String

    資源群組的唯一識別碼。

    resourceGroupName

    String

    資源群組名稱。

    resourceGroupType

    String

    資源群組類型。取值如下:

    • GATEWAY:調度資源群組。

    • DI:Data Integration資源群組。

資訊安全中心事件列表

事件列表

事件類型

事件

普通事件

擴充點事件

EventBridge事件類型

(Type)

擴充程式訊息類型(eventCode)

核准中心(建立、完成申請單)

建立申請單

image

image

dataworks:ApprovalChange:ApprovalChangeCreated

approval-change-created

完成申請單

image

image

dataworks:ApprovalChange:ApprovalChangeFinished

approval-change-finished

資訊安全中心(表許可權申請)

表許可權申請

image

image

dataworks:ApprovalChange:ApprovalChangeBeforeCreate

approval-change-before-create

訊息格式

訊息實體格式:核准中心(建立、完成申請單)

  • 建立審批單事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "appId":194209,
        "assignee":"286098539641742899",
        "assigneeName":"yupeng.sunyp",
        "createTime":1652094363000,
        "eventType":"approval",
        "process":{
          "applicant":"286098539641742899",
          "applicantName":"yupeng.sunyp",
          "approvalContent":{
            "applyPeriod":"2997964800000",
            "applyReason":"測試",
            "arrayData":[
              {
                "ownerBaseId":"1822***45",
                "objectType":"TABLE",
                "odpsTable":"loghub_070103",
                "envType":1,
                "projectGuid":"odps.b_mc1",
                "objectGuid":"odps.b_mc1.loghub_070103",
                "tenantId":0,
                "objectName":"loghub_070103",
                "ownerAccountName":"ALIYUN$******(******)",
                "odpsProject":"B_MC1",
                "projectName":"B_MC1",
                "actions":[
                  "Select",
                  "Describe"
                ],
                "projectId":194209,
                "workspaceId":"194209"
              }
            ],
            "contentType":"application/json",
            "granteeAccounts":[
              {
                "granteeId":"2860985***99",
                "granteeTypeSub":103,
                "granteeType":1,
                "granteeName":"RAM$dataworks_3h1_1:yupeng.sunyp"
              },
              {
                "granteeId":"237857631119109360",
                "granteeTypeSub":105,
                "granteeType":1,
                "granteeName":"RAM$dataworks_3h1_1:dev"
              }
            ],
            "odpsProjectName":"B_MC1",
            "projectEnv":"1",
            "resourceSummary":"loghub_070103",
            "tenantId":280749521950784,
            "workspaceId":194209
          },
          "assignmentCategory":"MaxCompute",
          "createTime":1652094363000,
          "processDefinitionId":"definition-3dcc9ce7-d29d-435d-a908-60d4355ff5e2",
          "processId":"528535869984706",
          "status":"Pending",
          "title":"MaxComputeTable",
          "updateTime":1652094363000
        },
        "processId":"528535869984706",
        "status":"Submit",
        "eventCode": "approval-change-created",
        "taskId":"528535870015424",
        "tenantId":280749521950784,
        "updateTime":1652094364000
      }
    }{
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "appId":227859,
        "assignee":"286098539641742899",
        "eventCode": "approval-change-finished",
        "assigneeName":"******.******",
        "comments":"ces",
        "createTime":1652095981000,
        "eventType":"approval",
        "process":{
            "applicant":"286098539641742899",
            "applicantName":"yupeng.sunyp",
            "approvalContent":{
                "applyPeriod":"2997964800000",
                "applyReason":"測試",
                "arrayData":[
                    {
                        "ownerBaseId":"238266539737108884", 
                        "objectType":"TABLE",
                        "odpsTable":"cdd",
                        "objectNameCn":"******",
                        "envType":1,
                        "projectGuid":"odps.da_simple_202112",
                        "objectGuid":"odps.da_simple_202112.cdd",
                        "tenantId":0,
                        "objectName":"cdd",
                        "ownerAccountName":"RAM$******(******)",
                        "odpsProject":"da_simple_202112",
                        "projectName":"da_simple_202112",
                        "actions":[
                            "Select",
                            "Describe"
                        ],
                        "projectId":227859,
                        "workspaceId":"227859"
                    }
                ],
                "contentType":"application/json",
                "granteeAccounts":[
                    {
                        "granteeId":"286098539641742899",
                        "granteeTypeSub":103,
                        "granteeType":1,
                        "granteeName":"RAM$dataworks_3h1_1:yupeng.sunyp"
                    }
                ],
                "odpsProjectName":"da_simple_202112",
                "projectEnv":"1",
                "resourceSummary":"cdd",
                "tenantId":280749521950784,
                "workspaceId":227859
            },
            "assignmentCategory":"MaxCompute",
            "createTime":1652095981000,
            "processDefinitionId":"definition-6e6418e6-c65f-4f26-a673-88576b1c1e4a",
            "processId":"528539182432192",
            "status":"Pending",
            "title":"MaxComputeTable",
            "updateTime":1652095981000
        }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    appId

    Long

    工作空間ID。

    assignee

    String

    審批單處理人的BaseId。

    assigneeName

    String

    審批單處理人的名稱。

    comments

    String

    備忘資訊。

    createTime

    Long

    審批單的建立時間戳記。

    processId

    String

    審批單的ID。

    status

    String

    審批單的狀態。

    taskId

    String

    審批任務的ID。

    tenantId

    String

    租戶ID。

    updateTime

    String

    審批單更新的時間戳記。

    eventType

    String

    事件類型。

    process

    Object

    審批任務對象。

    applicant

    String

    申請BaseID。

    applicantName

    String

    申請人名稱。

    assignmentCategory

    String

    申請內容類型。

    createTime

    String

    審批單建立的時間戳記。

    processDefinitionId

    String

    工作流程定義ID。

    processId

    String

    工作流程ID。

    status

    String

    工作流程狀態。

    title

    String

    工作流程標題。

    updateTime

    Long

    審批單更新的時間戳記。

    approvalContent

    Object

    審批內容對象。

    applyPeriod

    String

    審批單的申請時間長度。

    applyReason

    String

    審批單的申請原因。

    contentType

    String

    審批內容類型。

    odpsProjectName

    String

    審批專案名稱。

    resourceSummary

    String

    資源描述。

    tenantId

    Long

    租戶ID。

    workspaceId

    Long

    工作空間ID。

    projectEnv

    String

    審批專案所屬環境。

    granteeAccounts

    Array

    授權列表。

    .granteeId

    String

    授權主體ID。

    granteeType

    String

    授與類型。

    granteeTypeSub

    String

    授權主體子類型。

    granteeName

    String

    授權主體名稱。

    arrayData

    Array

    授權內容列表,詳情請參見開發參考:事件列表與訊息格式

    eventType

    String

    事件類型。

  • 完成審批單事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "appId": 227859,
        "assignee": "286098539641742899",
        "eventCode": "approval-change-finished",
        "assigneeName": "******.******",
        "comments": "ces",
        "createTime": 1652095981000,
        "eventType": "approval",
        "process": {
          "applicant": "286098539641742899",
          "applicantName": "yupeng.sunyp",
          "approvalContent": {
            "applyPeriod": "2997964800000",
            "applyReason": "測試",
            "arrayData": [
              {
                "ownerBaseId": "238266539737108884",
                "objectType": "TABLE",
                "odpsTable": "cdd",
                "objectNameCn": "******",
                "envType": 1,
                "projectGuid": "odps.da_simple_202112",
                "objectGuid": "odps.da_simple_202112.cdd",
                "tenantId": 0,
                "objectName": "cdd",
                "ownerAccountName": "RAM$******(******)",
                "odpsProject": "da_simple_202112",
                "projectName": "da_simple_202112",
                "actions": [
                  "Select",
                  "Describe"
                ],
                "projectId": 227859,
                "workspaceId": "227859"
              }
            ],
            "contentType": "application/json",
            "granteeAccounts": [
              {
                "granteeId": "286098539641742899",
                "granteeTypeSub": 103,
                "granteeType": 1,
                "granteeName": "RAM$dataworks_3h1_1:yupeng.sunyp"
              }
            ],
            "odpsProjectName": "da_simple_202112",
            "projectEnv": "1",
            "resourceSummary": "cdd",
            "tenantId": 280749521950784,
            "workspaceId": 227859
          },
          "assignmentCategory": "MaxCompute",
          "createTime": 1652095981000,
          "processDefinitionId": "definition-6e6418e6-c65f-4f26-a673-88576b1c1e4a",
          "processId": "528539182432192",
          "status": "Pending",
          "title": "MaxComputeTable",
          "updateTime": 1652095981000
        }
      }
    }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    appId

    Long

    工作空間ID。

    assignee

    String

    審批單處理人BaseId。

    assigneeName

    String

    審批單處理人名稱。

    comments

    String

    備忘資訊。

    createTime

    Long

    審批單的建立時間戳記。

    processId

    String

    審批單ID。

    status

    String

    審批單狀態。

    taskId。

    String

    審批任務ID。

    tenantId

    String

    租戶ID。

    updateTime

    String

    審批單最近一次更新的時間戳記。

    eventType

    String

    事件類型。

    process

    Object

    審批任務對象。

    applicant

    String

    申請BaseID。

    applicantName

    String

    申請人名稱。

    assignmentCategory

    String

    申請內容類型。

    createTime

    String

    審批單建立的時間戳記。

    processDefinitionId

    String

    工作流程定義ID。

    processId

    String

    工作流程ID。

    status

    String

    工作流程狀態。

    title

    String

    工作流程標題。

    updateTime

    Long

    審批單更新的時間戳記。

    approvalContent

    Object

    審批內容對象。

    applyPeriod

    String

    申請時間長度。

    applyReason

    String

    申請原因。

    contentType

    String

    內容類型。

    odpsProjectName

    String

    專案名稱。

    resourceSummary

    String

    資源描述。

    tenantId

    Long

    租戶ID。

    workspaceId

    Long

    工作空間ID。

    projectEnv

    String

    所屬環境。

    granteeAccounts

    Array

    授權列表。

    granteeId

    String

    授權主體ID。

    granteeType

    String

    授與類型。

    granteeTypeSub

    String

    授權主體子類型。即授權帳號類型,具體如下:

    • 生產雲帳號(生產調度使用的帳號):ACCOUNT_PRD(101)

    • 應用雲帳號:ACCOUNT_APP(102)

    • 個人云帳號:ACCOUNT_USER(103)

    • 部門雲帳號:ACCOUNT_DEPT(104)

    • MOCK帳號:ACCOUNT_MOCK(106)

    • 他人云帳號:ACCOUNT_OTHER_USER(105)

    granteeName

    String

    授權主體名稱。

    arrayData

    Array

    授權內容列表,詳情請參見開發參考:事件列表與訊息格式

    eventType

    String

    事件類型。

訊息實體格式:資訊安全中心(表許可權申請)

表許可權申請前置事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "eventType": "approval-create-before",
    "operator":"1239****8872",
    "order":{
      "applyReason":"測試",
      "deadlineDate":"1",
      "deadlineType":"month",
      "granteeObjectList":[
        {
          "granteeId":"1239****8872"
        }
      ],
      "projectMeta":{
        "envCode":1,
        "labelSecurity":false,
        "objectMetaList":[
          {
            "action":[
              "Select",
              "Describe"
            ],
            "name":"tablei",
            "projectGuid":"odps.d11aa"
          }
        ],
        "projectId":2****0,
        "projectName":"d11aa"
      }
    },
    "projectId":2****0,
    "tenantId":5564****6465
  }
}

欄位說明如下:

欄位名稱

欄位類型

說明

operator

String

執行表許可權申請前置操作的使用者ID。

projectId

Long

執行表許可權申請前置操作的工作空間ID。

tenantId

Long

執行表許可權申請前置操作的租戶ID。

order

Object

申請單資訊。

applyReason

String

申請原因。

deadlineDate

String

申請單有效期間。

deadlineType

String

申請單有效期間的時間單位。例如,Day、Month。

granteeObjectList

Object

授權對象列表。

granteeId

String

授權對象ID,即RAM使用者ID。

projectMeta

Object

工作空間資訊。

envCode

Integer

工作空間環境標識,0表示開發環境,1表示生產環境。

labelSecurity

Boolean

是否開啟Label層級管控:

  • true:開啟。

  • false:不開啟。

objectMetaList

Array

授權對象列表。

action

Array

授權動作。例如,授權擁有表的Select或Describe許可權。

name

String

待申請許可權的表名稱。

projectGuid

String

表所在工作空間Guid。

projectName

String

表所在工作空間名稱。

eventType

String

事件類型。

附錄:授權內容列表(MaxCompute)

DataWorks在資訊安全中心事件中,觸發審批和表許可權申請時,觸發的事件訊息發送至事件匯流排(EventBridge)訊息之中會增加arrayData資料,當assignmentCategory類型為MaxCompute時,arrayData的資料內容如下:

{
    "ownerBaseId":"1822931104031845",
    "objectType":"TABLE",
    "odpsTable":"oracle_************",
    "envType":1,
    "projectGuid":"odps.***********",
    "objectGuid":"odps.******.******",
    "tenantId":0,
    "objectName":"oracle_******",
    "ownerAccountName":"ALIYUN***************",
    "odpsProject":"dataworks******",
    "projectName":"dataworks******",
    "actions":[
      "Select",
      "Describe"
    ],
    "projectId":107100,
    "workspaceId":"107100"
  }

欄位說明如下:

欄位名稱

欄位類型

說明

ownerBaseId

String

表所有者的BaseID。

ownerAccountName

String

表所有者的名稱。

objectType

String

物件類型。

odpsTable

String

表名稱。

envType

String

表所屬環境。

projectGuid

String

專案Guid。

objectGuid

String

對象Guid。

objectName

String

對象名稱。

odpsProject

String

ODPS專案名稱。

projectName

String

專案代碼。

projectId

Long

專案ID。

workspaceId

String

工作空間ID。

actions

Array

操作類型列表。

附錄:授權內容列表(DataService)

DataWorks在資訊安全中心事件中,觸發審批以及表許可權申請時,發送至事件匯流排(EventBridge)訊息中會增加arrayData資料,當assignmentCategory類型為DataService時,arrayData的資料內容如下

{
    "resourceId":"DsApiDeploy/******/workspaceId/******/dsDeployId/******",
    "ownerName":"******",
    "resourceVersion":1,
    "name":"api_api",
    "dsDeployId":"******",
    "workspaceName":"da_******",
    "id":"******",
    "type":1,
    "ownerId":"******",
    "url":"https://******.data.aliyun.com/?projectId=******&type=api&id=******&version=***&defaultProjectId=******",
    "workspaceId":"******"
  }

欄位說明如下:

欄位名稱

欄位類型

說明

resourceId

String

資源ID。

ownerName

String

資源所有者的名稱。

resourceVersion

Long

資源版本。

name

String

資源名稱。

dsDeployId

String

資料服務發布ID。

workspaceName

String

工作空間名稱。

id

String

資源唯一ID。

type

String

資源類型,取值如下:

  • 1:API。

  • 2:函數。

  • 3:服務編排。

ownerId

String

資源責任人BaseID。

url

String

資料服務連結地址。

workspaceId

String

工作空間ID。

資料品質事件列表

事件列表

事件類型

事件

普通事件

擴充點事件

EventBridge事件類型

(Type)

擴充程式事件類型(eventCode)

資料品質校正

校正結果反饋

  • 使用者對校正結果做的反饋

image

image

dataworks:DqcCheck:DqcCheckFeedbackEvent

dqc-check-feedback-event

校正完成

  • 規則校正完畢發送規則校正結果(是否通過樣本等資訊)

image

image

dataworks:DqcCheck:DqcCheckFinishedEvent

dqc-check-finished-event

訊息格式

訊息實體格式:資料品質校正

  • 資料品質校正結果反饋事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "ruleCheckId": 521771452,
        "feedbackContent": "跳過",
        "ruleId": 28610334,
        "createUser": "110755000425****",
        "taskId": "167644814****9a26ecf4063a88797",
        "beginTime": "1676448145000",
        "envType": "ODPS",
        "projectName": "test_mc_2303_kongjian",
        "projectId": 242601,
        "tenantId": 524257424564736
      }
    }

    重要欄位說明如下表。

    欄位名稱

    欄位類型

    說明

    ruleId

    Long

    資料品質規則ID。

    ruleCheckId

    Long

    校正結果自增ID。

    feedbackContent

    String

    反饋內容。

    createUser

    String

    反饋人使用者ID。

    taskid

    String

    資料品質任務的ID。

    beginTime

    String

    反饋時間。

    envType

    String

    規則關聯的表所屬資料來源類型,包括:ODPS、EMR、HOLO。

    projectName

    String

    規則關聯的表所屬的資料來源唯一標識。

    projectId

    Long

    DataWorks專案空間ID。

    tenantId

    Long

    DataWorks租戶ID。

  • 資料品質校正完成事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "projectId": 242601,
        "tenantId": 52425742456****,
        "id": 52177****,
        "taskId": "1676463288449d1b2102ac40048aeb7a628753363****",
        "entityId": 1562***,
        "ruleId": 28610334,
        "property": "-",
        "bizdate": "2023-02-09 00:00:00",
        "dateType": "YMD",
        "actualExpression": "ds\u003d20230210",
        "matchExpression": "ds\u003d$[yyyymmdd]",
        "blockType": 1,
        "checkResult": 0,
        "eventCode": "dqc-check-finished-event",
        "checkResultStatus": 0,
        "methodName": "table_count",
        "beginTime": "2023-02-15 20:14:48",
        "endTime": "2023-02-15 20:14:55",
        "timeConsuming": "7s",
        "externalType": "CWF2",
        "externalId": "triggerByManual",
        "discrete": false,
        "fixedCheck": true,
        "referenceValue": [
          {
            "bizDate": "3000-12-31 00:00:00",
            "discreteProperty": "錶行數,1天差值",
            "value": 0.0,
            "singleCheckResult": 0
          }
        ],
        "sampleValue": [
          {
            "bizDate": "2023-02-09 00:00:00",
            "value": 3.0
          }
        ],
        "trend": "\u003e\u003d",
        "expectValue": 0.0,
        "op": "\u003e\u003d",
        "projectName": "test_mc_2303_kongjian",
        "tableName": "sx_dim_1209_001",
        "templateId": 47,
        "checkerType": 0,
        "ruleName": "前一天差值",
        "isPrediction": false,
        "feedbackStatus": 0,
        "whetherToFilterDirtyData": false
      }
    }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    id

    Long

    本次校正流程的主鍵ID。每觸發一次規則校正,都會新增一條主鍵ID記錄。

    projectId

    Long

    DataWorks專案空間ID

    tenantId

    Long

    DataWorks租戶ID

    taskId

    String

    校正任務的ID。

    entityId

    Long

    分區運算式ID。

    ruleId

    Long

    規則ID。

    property

    String

    規則屬性的欄位,即被校正資料來源表的column名稱。

    bizdate

    Long

    業務日期。如果被校正的業務主體為離線資料,則業務日期通常為執行校正操作的前一天。

    dateType

    String

    調度周期的類型。通常為YMD,即年任務、月任務、天任務。

    actualExpression

    String

    被校正的資料來源表的實際分區。

    matchExpression

    String

    分區運算式。

    blockType

    Integer

    校正規則的強弱。強弱表示規則的重要程度。取值如下:

    • 1,表示強規則。

    • 0,表示弱規則。

    您可以根據實際需求設定重要的規則為強規則。如果使用強規則並觸發了紅色警示,則會阻塞調度任務。

    checkResult

    Integer

    校正結果狀態。取值如下:

    • -1:校正異常

    • 0:校正通過

    • 1:觸發橙色閾值

    • 2:觸發紅色閾值

    methodName

    String

    採集樣本資料的方法。包括:avg、count、sum、min、max、count_distinct、user_defined、table_count、table_size、table_dt_load_count、table_dt_refuseload_count、null_value、null_value/table_count、(table_count-count_distinct)/table_count、table_count-count_distinct等。

    beginTime

    Long

    執行校正操作的開始時間。

    endTime

    Long

    查詢校正結果的截止時間。

    timeConsuming

    String

    執行校正任務花費的時間。

    externalType

    String

    調度系統的類型。目前僅支援CWF2。如果externalType為空白則表示是手動試跑任務。

    externalId

    String

    • externalType為CWF2時,表示調度任務的節點ID。

    • externalType為空白時,取值為triggerByManual,表示為手動觸發任務。

    discrete

    Boolean

    是否為離散校正。取值如下:

    • true:是離散校正。

    • false:非離散校正。

    fixedCheck

    Boolean

    是否為固定值校正。取值如下:

    • true:是固定值校正。

    • false:非固定值校正。

    referenceValue

    歷史樣本值。

    bizDate

    Long

    業務日期。如果被校正的業務主體為離線資料,則業務日期通常為執行校正操作的前一天。

    discreteProperty

    String

    通過group by分組後的樣本欄位取值。例如group by性別欄位,則DiscreteProperty為男生、女生和null。

    value

    Decimal

    樣本值。

    singleCheckResult

    Integer

    校正結果的字串。

    sampleValue

    當前使用的樣本。

    bizDate

    Long

    業務日期。如果被校正的業務主體為離線資料,則業務日期通常為執行校正操作的前一天。

    value

    Decimal

    樣本值。

    trend

    String

    校正結果的趨勢。

    expectValue

    Double

    期望值。

    op

    String

    比較符。

    projectName

    String

    需要進行資料品質校正的引擎或者資料來源名稱。

    tableName

    String

    進行校正的表名稱。

    templateId

    Integer

    使用的校正模板的ID。

    checkerType

    Integer

    校正器的類型。

    ruleName

    String

    規則的名稱。

    isPrediction

    Boolean

    是否為預測的結果。取值如下:

    • true:是預測的結果。

    • false:不是預測的結果。

    comment

    String

    校正規則的描述。

    eventCode

    String

    擴充程式事件編碼。

租戶級事件

租戶級模組產生的是租戶級事件,例如管控台刪除空間所產生的事件訊息。您可通過下文事件列表瞭解各個模組支援的事件訊息中,哪些為普通事件,哪些為擴充點事件,以及對應事件的發送的訊息格式。

以下訊息格式頁簽僅包含部分內容,發送給EventBridge或Function Compute的完整訊息,您需要結合附錄:訊息格式

管控台事件列表

事件列表

事件類型

事件

普通事件

擴充點事件

EventBridge事件類型(Type)

擴充程式事件類型(eventCode)

刪除專案空間

刪除空間前置

image

image

dataworks:ProjectChange:DeleteProject

delete-project

刪除空間後置

image

image

dataworks:ProjectChange:ProjectDeleted

project-deleted

訊息格式

訊息實體格式:刪除專案空間事件

  • 租戶刪除專案空間前置事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
     
      "data": {
        "eventCode": "delete-project",
        "projectId": 7***7, // 工作空間ID
        "tenantId": 2807****0784, // 租戶ID
        "operator": "操作使用者BaseId"
    }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    operator

    String

    刪除DataWorks工作空間的使用者ID。

    projectId

    Long

    待刪除的DataWorks工作空間ID。

    tenantId

    Long

    待刪除工作空間所屬的租戶ID。

    eventCode

    String

    擴充程式事件編碼。

  • 租戶刪除專案空間後置事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
        
        "data": {
            "eventCode": "project-deleted",
            "tenantId": 605355236006144,
            "blockBusiness": false,
            "projectName": "test2",
            "projectId": 380708,
            "operator": "1493189603770213",
            "timestamp": 1702260556896
       } 
    }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    operator

    String

    刪除DataWorks工作空間的使用者ID。

    projectId

    Long

    待刪除的DataWorks工作空間ID。

    projectName

    String

    待刪除的DataWorks工作空間名稱。

    tenantId

    Long

    待刪除工作空間所屬的租戶ID。

    timestamp

    Long

    發送訊息的時間戳記。

    eventCode

    String

    擴充程式事件編碼。

上傳與下載事件列表

事件列表

事件類型

事件

普通事件

擴充點事件

EventBridge事件類型(Type)

擴充程式事件類型(eventCode)

資料下載與上傳

資料下載前置-檔案產生

image

image

dataworks:ResourcesDownload:DownloadResources

download-resources

資料下載前置-檔案下載

image

image

dataworks:ResourcesDownload:DownloadResourcesExecute

download-resources-execute

資料上傳前置

image

image

dataworks:ResourcesUpload:UploadDataToTable

upload-data-to-table

訊息格式

訊息實體格式:資料下載與上傳

  • “資料下載前置事件-檔案產生”的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    { 
        "data": {
            "eventCode": "download-resources",
            "moduleType": "sqlx_query",
            "operatorBaseId": "123936573******",
            "operatorUid": "14931896037*******",
            "fileName": "檔案名稱.csv",
            "fileSize": 10241024,
            "datasourceId": "1111",
            "datasourceName": "odps_first",
            "queryDwProjectId": "22222",
            "queryDwProjectName": "test_project",
            "dataRowSize": "123456",
            "sqlText": "select sku_code, sku_name from dim_sku",
        }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    moduleType

    String

    下載資料的來源:

    • entity_transfer:在資訊安全中心 > 安全性原則 > 實體轉交 > 轉交日誌下載的資料。

    • develop_query:在資料開發(DataStudio)使用SQL語句查詢並下載的資料。

    • sqlx_query:在資料分析 > SQL查詢使用SQL語句查詢並下載的資料。

    • dw_excel:在資料分析 > 試算表下載的資料。

    operatorBaseId

    String

    執行下載操作的使用者BaseID。

    operatorUid

    String

    執行下載操作的使用者UID。

    fileName

    String

    下載檔案的名稱。

    fileSize

    Long

    下載檔案的大小。

    datasourceId

    String

    下載的資料所屬的資料來源ID。

    datasourceName

    String

    下載的資料所屬的資料來源名稱。

    queryDwProjectId

    String

    下載的資料所屬的DataWorks工作空間ID。

    queryDwProjectName

    String

    下載的資料所屬的DataWorks工作空間標識。

    dataRowSize

    Long

    下載的資料條數。

    sqlText

    String

    通過SQL語句查詢並下載資料,此處為使用的SQL代碼。

    eventCode

    String

    擴充程式事件類型。

  • “資料下載前置事件-檔案下載”的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "aliyunaccountid": "1493189603770213",
      "aliyunpublishtime": "2023-12-11T02:10:00.194Z",
      "data": {
        "eventCode": "download-resources-execute",
        "moduleType": "sqlx_query",
        "operatorBaseId": "123936573******",
        "operatorUid": "14931896037*******",
        "fileName": "檔案名稱.csv",
        "fileSize": 10241024,
        "datasourceId": "1111",
        "datasourceName": "odps_first",
        "queryDwProjectId": "22222",
        "queryDwProjectName": "test_project",
        "dataRowSize": "123456",
        "sqlText": "select sku_code, sku_name from dim_sku",
        "ip": "198.10.X.X"
      },
      "aliyunoriginalaccountid": "149318960******",
      "specversion": "1.0",
      "aliyuneventbusname": "default",
      "id": "2c3e41e5-3486-40ce-87d4-910f989cf2a7",
      "source": "acs.dataworks",
      "time": "2023-12-11T10:10:00.117Z",
      "aliyunregionid": "cn-shanghai",
      "type": "dataworks:ResourcesDownload:DownloadResourcesExecute"
    }

    重要欄位說明如下表。

    欄位名稱

    欄位類型

    說明

    moduleType

    String

    下載資料的來源:

    • entity_transfer:在資訊安全中心 > 安全性原則 > 實體轉交 > 轉交日誌下載的資料。

    • develop_query:在資料開發(DataStudio)使用SQL語句查詢並下載的資料。

    • sqlx_query:在資料分析 > SQL查詢使用SQL語句查詢並下載的資料。

    • dw_excel:在資料分析 > 試算表下載的資料。

    operatorBaseId

    String

    執行下載操作的使用者BaseID。

    operatorUid

    String

    執行下載操作的使用者UID。

    fileName

    String

    下載檔案的名稱。

    fileSize

    Long

    下載檔案的大小。

    datasourceId

    String

    下載的資料所屬的資料來源ID。

    datasourceName

    String

    下載的資料所屬的資料來源名稱。

    queryDwProjectId

    String

    下載的資料所屬的DataWorks工作空間ID。

    queryDwProjectName

    String

    下載的資料所屬的DataWorks工作空間標識。

    dataRowSize

    Long

    下載的資料條數。

    sqlText

    String

    通過SQL語句查詢並下載資料,此處為使用的SQL代碼。

    ip

    String

    執行下載操作的使用者的IP地址。

    eventCode

    String

    擴充程式事件類型。

  • 資料上傳前置事件的訊息實體格式(即事件訊息中data欄位的內容)樣本如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "aliyunaccountid": "1493189603770213",
      "aliyunpublishtime": "2023-12-11T02:10:00.194Z",
      "data": {
        "eventCode": "upload-data-to-table",
        "uploadSourceType": "LOCAL",
        "optTableType": "CREATE",
        "targetEngineType": "MAXCOMPUTE",
        "writeType": "OVERWRITE",
        "conflictMode": "IGNORE",
        "operatorBaseId": "12312*****",
        "operatorUid": "1222222*****",
        "datasourceId": "1111",
        "datasourceName": "odps_first",
        "tableGuid": "odps.mc_project.test_table",
        "queryDwProjectId": "22222",
        "queryDwProjectName": "test_project",
        "fileSize": 123456
      },
      "aliyunoriginalaccountid": "149318960******",
      "specversion": "1.0",
      "aliyuneventbusname": "default",
      "id": "2c3e41e5-3486-40ce-87d4-910f989cf2a7",
      "source": "acs.dataworks",
      "time": "2023-12-11T10:10:00.117Z",
      "aliyunregionid": "cn-shanghai",
      "type": "dataworks:ResourcesUpload:UploadDataToTable"
    }

    欄位說明如下:

    欄位名稱

    欄位類型

    說明

    uploadSourceType

    String

    上傳資料的來源:

    • LOCAL:上傳本地檔案資料。

    • OSS:上傳OSS檔案資料。

    • DW_EXCEL:上傳DataWorks的資料分析 > 試算表資料。

    • HTTP:上傳HTTP檔案資料。

    optTableType

    String

    選擇將資料上傳至指定引擎資料來源的已有表或建立表。取值如下:

    • CREATE:上傳資料至建立表。

    • IMPORT:上傳資料至已有表。

    targetEngineType

    String

    選擇將資料上傳至哪類引擎。取值如下:

    • MaxCompute

    • EMR Hive

    • Hologres

    writeType

    String

    資料寫入至目標表的方式。取值如下:

    • OVERWRITE:覆蓋原有表資料。

    • APPEND:將上傳的資料追加至目標表中。

    conflictMode

    String

    上傳資料時,目標表的主鍵衝突處理策略:

    • IGNORE:存在主鍵衝突時,忽略上傳的資料。

    • REPLACE:存在主鍵衝突時,先刪除衝突資料所在的行,再將上傳的資料插入該行。上傳資料未指定的欄位會寫為NULL。

    • UPDATE:上傳的資料覆蓋原表資料,只覆蓋上傳資料指定的欄位,未指定欄位資料保持不變。

    operatorBaseId

    String

    執行上傳操作的使用者BaseID。

    operatorUid

    String

    執行上傳操作的使用者UID。

    datasourceId

    String

    上傳資料至哪個資料來源,此處填寫資料來源ID。

    datasourceName

    String

    上傳資料至哪個資料來源,此處填寫資料來源名稱。

    tableGuid

    String

    表的Guid。樣本如下:

    • MaxCompute:odps.maxcomputeProject.tableName

    • EMR_Hive:emr_hive.emr叢集id.schema.tableName

    • Holo:holo.hologres執行個體id.database

    queryDwProjectId

    String

    表所屬的DataWorks工作空間ID。

    queryDwProjectName

    String

    表所屬的DataWorks工作空間名稱。

    fileSize

    Long

    上傳檔案的大小,單位為位元組。

    eventCode

    String

    擴充程式事件編碼。

附錄:訊息格式

發送給EventBridge的訊息格式

在配置開放事件(OpenEvent)添加事件分發通道後,若在DataWorks內觸發空間級租戶級事件後,會按照在事件匯流排(EventBridge)中的配置的事件類型(Type)進行過濾,以下為DataWorks通過事件分發通道發送至事件匯流排EventBridge的訊息格式。

{ 
 "datacontenttype": "application/json;charset=utf-8",//參數data的內容形式。datacontenttype只支援application/json格式。
  "data": {
 //訊息類型不同,訊息內容也不同。以下為訊息中固定的兩個欄位。各事件訊息請參見上文。
 "tenantId": 28378****10656,//租戶id,DataWorks每個阿里雲主帳號對應一個租戶,每個租戶有自己的租戶id,該值您可在DataWorks資料開發右上方使用者資訊查看。
 "eventCode": "xxxx"//
  },
  "id": "539fd8f4-4ea1-4625-aa8b-6c906674****",//事件ID。標識事件的唯一值。
  "source": "acs.dataworks",//事件來源,提供事件的服務,說明此訊息由dataworks推送。
  "specversion": "1.0",
  "subject": "",
  "time": "2020-11-19T21:04:41+08:00",//事件產生時間。
  "type": "dataworks:InstanceStatusChanges:InstanceStatusChanges",//事件類型。該事件類型可在EventBridge控制台對DataWorks推送的全量訊息進行過濾,每個事件的事件Type值不同,請參見上文擷取不同事件訊息類型。
  "aliyunaccountid": "123456789098****",//阿里雲主帳號ID
  "aliyunpublishtime": "2020-11-19T21:04:42.179PRC",//EventBridge接收事件的時間。
  "aliyuneventbusname": "default",//用於接收DataWorks事件訊息的EventBridge事件匯流排名稱。
  "aliyunregionid": "cn-hangzhou",//接收事件的地區。
  "aliyunpublishaddr": "172.25.XX.XX"
}

一個完整的事件訊息包括訊息的實體格式,以及訊息的ID、來源、產生時間等基礎資訊。其中,重要欄位的詳細說明如下表。

欄位名稱

欄位類型

說明

data

object

訊息實體格式。不同類型事件的訊息格式及其包含的欄位含義存在差異,詳情請參見:

資料開發事件訊息格式:資料開發事件列表

營運中心事件訊息格式:營運中心事件列表

資訊安全中心事件訊息格式:資訊安全中心事件列表

資料品質事件訊息格式:資料品質事件列表

id

String

事件訊息的唯一ID。用於定位事件訊息。

type

String

事件類型。用於描述事件來源相關的事件類型。取值樣本如下:

  • dataworks:FileChange:CommitFile:表示提交檔案。

  • dataworks:FileChange:DeployFile:表示發布檔案。

該事件類型可在EventBridge控制台對DataWorks推送的全量訊息進行過濾,每個事件的事件Type值不同,請參見上文擷取不同事件訊息類型。

發送給Function Compute的訊息格式

在DataWorks上配置擴充程式(Extensions):Function Compute方式時,DataWorks會將觸發對應的擴充點事件時的訊息以JSON的形式將訊息發送至Function Compute,以下為發送至Function Compute的訊息格式。

{
	"blockBusiness": true,
	"eventCategoryType": "resources-download",//事件類別目錄
	"eventType": "upload-data-to-table",//事件類型
	"extensionBizId": "job_6603643923728775070",
	"messageBody": {
             //訊息類型不同,訊息內容也不同。以下為訊息中固定的兩個欄位。各事件訊息請參見上文。
             "tenantId": 28378****10656,//租戶id,DataWorks每個阿里雲主帳號對應一個租戶,每個租戶有自己的租戶id,該值您可在DataWorks資料開發右上方使用者資訊查看。
             "eventCode": "xxxx"//
	},
	"messageId": "52d44ee7-b51f-4d4d-afeb-*******"//事件ID。標識事件的唯一值。
}

重要欄位詳細說明如下:

欄位名稱

欄位類型

說明

messageId

String

事件ID,標識事件的唯一值。

messageBody

DataWorks推送的具體事件訊息,您可在開發擴充程式中使用,訊息類型不同,此部分內容也不同。

tenantId

租戶id,DataWorks每個阿里雲主帳號對應一個租戶,每個租戶有自己的租戶id,該值您可在DataWorks資料開發右上方使用者資訊查看

eventCode

事件編碼。用於標識某一類事件訊息,各事件類型對應的eventCode請查閱開發參考:事件列表與訊息格式表格中擴充程式事件類型(eventCode)列。