All Products
Search
Document Center

DataWorks:Development reference: Event list and message format

Last Updated:Jan 22, 2026

This topic describes the event types and message formats in DataWorks and explains the fields in the messages. Use this topic to quickly find information about event lists and message formats.

Background

In DataWorks, events are classified as regular events or extension point events. This classification depends on whether an event can block an internal DataWorks operation and whether a self-managed service can return a processing result after subscribing to the event.

  • Regular events: You can subscribe to messages for these events, but you cannot block internal DataWorks operations. You can subscribe to these event messages through OpenEvent. For more information, see OpenEvent.

  • Extension point events: After you subscribe to messages for these events, you can customize the response to the event messages using the Extensions feature of the DataWorks open platform. When you use Extensions to control operations at an extension point, the operations are blocked in the DataWorks platform until your custom extension returns a processing result.

This topic lists the events supported by each module, their types (regular event or extension point event), their EventBridge event type (Type), and their extension event code (eventCode).

  • EventBridge event type (Type): A field used to filter event messages. For more information, see Enable message subscription.

  • Extension event code (eventCode): The event code that corresponds to an event type. When you develop locally, you can retrieve this code from the content of the message sent by DataWorks to identify the target event type.

Workspace-level events

Workspace-level modules generate workspace-level events. Examples include event messages generated when a node runs in Data Studio and event messages generated when the status of a recurring instance changes in Operation Center. The following Event list shows which events are regular events and which are extension point events for each module, along with the message format for each event.

The following Message format tabs show only partial content. For the complete message sent to EventBridge or Function Compute, see Appendix: Message format.

Data Development Event List

Event list

Event type

Event (and triggering operation)

Regular event

Extension point event

EventBridge event type (Type)

Extension event code (eventCode)

Node change

Create node

  • Publish a new node to the production environment

image

image

dataworks:NodeChange:NodeChangeCreated

node-change-created

Update node

  • Modify a node in the development environment

  • Publish modifications to the production environment

image

image

dataworks:NodeChange:NodeChangeUpdated

node-change-updated

File change

  • Node

  • Resource

  • Function

Pre-delete file event

Delete a node in the development environment

Note

The deleted file is moved to the recycle bin.

image

image

dataworks:FileChange:DeleteFile

delete-file

Pre-commit file event

image

image

dataworks:FileChange:CommitFile

commit-file

Pre-publish file event

image

image

dataworks:FileChange:DeployFile

deploy-file

Pre-run code event

image

image

dataworks:FileChange:RunFile

run-file

Table change

Pre-processing form submission event

image

image

dataworks:TableChange:CommitTable

commit-table

Pre-publish table to production environment event

image

image

dataworks:TableChange:DeployTable

deploy-table

Message format

Node change events (create, update)

The following example shows the message entity format (the content of the data field) for node creation, update, and deletion events.

{
  "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", // The user who performed this operation
    "eventCode": "node-change-created",
    "repeatability": true,
    "modifyTime": 17***864,
    "createTime": 17***864,
    "tenantId": 28***656,
    "nodeId": 70***003,
    "projectId": 9***4
  }
}

The following table describes the fields.

Field Name

Field Type

Description

nodeName

String

The name of the node.

programType

String

The code type of the file. You can call the ListFileType operation to query the code type of the file, or see Supported node types.

cronExpress

String

The cron expression for the recurring schedule.

This parameter corresponds to the Scheduling Configuration > Time Property > Cron Expression of a Data Development task in the DataWorks console.

After you configure the scheduling cycle and scheduled time, DataWorks automatically generates a cron expression. Examples:

  • Scheduled to run at 05:30 every day: 00 30 05 * * ?

  • Scheduled to run at 15 minutes past every hour: 00 15 * * * ?

  • Scheduled to run every 10 minutes: 00 00/10 * * * ?

  • Scheduled to run every 10 minutes from 08:00 to 17:00 every day: 00 00-59/10 8-17 * * * ?

  • Scheduled to run at 00:20 on the first day of each month: 00 20 00 1 * ?

  • Scheduled to run every three months, starting from 00:10 on January 1: 00 10 00 1 1-12/3 ?

  • Scheduled to run at 00:05 on Tuesdays and Fridays: 00 05 00 * * 2,5

Note

The following limits apply to cron expressions:

  • The minimum scheduling interval is 5 minutes.

  • The earliest scheduled time is 00:05.

schedulerType

String

The scheduling type of the task instance. Valid values:

  • 0: NORMAL. The task is a regularly scheduled task and is run on a recurring basis.

  • 1: MANUAL. The task is a one-time task and is not run on a recurring basis.

  • 2: PAUSE. The task is frozen. It is scheduled on a recurring basis, but its status is set to failed upon startup.

  • 3: SKIP. The task is a dry-run task. It is scheduled on a recurring basis, but its status is set to successful upon startup.

  • 4: SKIP_UNCHOOSE. The task is not selected in a temporary workflow. It exists only in the temporary workflow and its status is set to successful upon startup.

  • 5: SKIP_CYCLE. The task is a weekly or monthly task that has not reached its running cycle. It is scheduled on a recurring basis, but its status is set to successful upon startup.

  • 6: CONDITION_UNCHOOSE. An upstream instance has a branch (IF) node, but this descendant node is not selected by the branch node. The task is treated as a dry-run task.

  • 7: REALTIME_DEPRECATED. The recurring instance is generated in real time but has expired. The status of this type of task is set to successful.

ownerId

String

The Alibaba Cloud user ID of the node owner. If this parameter is empty, the Alibaba Cloud user ID of the caller is used by default.

priority

Integer

The task priority. Valid values are 1, 3, 5, 7, and 8. A larger value indicates a higher priority.

baselineId

Long

The baseline ID.

repeatability

Boolean

Indicates whether the node can be run repeatedly:

  • true: The node can be run repeatedly.

  • false: The node cannot be run repeatedly.

modifyTime

Long

The time when the node was last modified.

createTime

Long

The time when the node was created.

nodeId

Long

The node ID.

projectId

Long

The ID of the project where the node is located.

tenantId

Long

The ID of the tenant to which the node belongs.

operator

String

The UID of the user who created, modified, or deleted the node.

eventCode

String

The extension event code.

File change events (commit, publish, run, delete)

  • The following example shows the message entity format (the content of the data field) for file commit and publish events.

    {
      "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
      }
    }

    The following describes the fields:

    Field Name

    Field type

    Description

    operator

    String

    The UID of the user who committed or published the file.

    projectId

    Long

    The ID of the project to which the file belongs.

    tenantId

    Long

    The tenant ID.

    nodeId

    Long

    The scheduling node ID.

    fileType

    Long

    The code type of the file. You can call the ListFileType operation to query the code type of the file, or see Supported node types.

    fileName

    String

    The file name.

    fileOwner

    String

    The file owner.

    extensionBizId

    String

    The ID of the extension checkpoint process.

    changeType

    String

    The type of file change:

    • 0: Create file.

    • 1: Update file.

    • 2: Delete file.

    fileCreateTime

    String

    The time when the file was created, in the format yyyy-MM-dd HH:mm:ss.

    fileId

    Long

    The file ID.

    fileVersion

    Long

    The file version.

    dataSourceName

    String

    The data source name.

    eventCode

    String

    The extension event code.

  • The following example shows the message entity format (the content of the data field) for file deletion and run events.

    {
      "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", // File creation time
        "tenantId": 28***656,
        "fileOwner": "19***735", // File owner
        "nodeId": 70***003,
        "projectId": 9***4,
        "fileType": 10,
        "fileId": 50***830,
        "resourceType": 1
      }
    }

    The following table describes the fields.

    Field name

    Type

    Description

    operator

    String

    The UID of the user who deleted or ran the file.

    projectId

    Long

    The ID of the project to which the file belongs.

    tenantId

    Long

    The tenant ID.

    nodeId

    Long

    The scheduling node ID.

    fileType

    Long

    The code type of the file. You can call the ListFileType operation to query the code type of the file, or see Supported node types.

    fileName

    String

    The file name.

    fileOwner

    String

    The file owner.

    extensionBizId

    String

    The ID of the extension checkpoint process.

    fileCreateTime

    String

    The time when the file was created, in the format yyyy-MM-dd HH:mm:ss.

    fileId

    Long

    The file ID.

    eventCode

    String

    The extension event code.

Table change events (commit table to development environment, publish table to production environment)

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

The following table describes the fields.

Field Name

Field Type

Description

operator

String

The UID of the user who committed or published the table.

projectId

Long

Project ID

tenantId

Long

The tenant ID.

extensionBizId

String

The ID of the extension checkpoint process.

tableName

String

The table name.

tableType

String

The table type. The value is ODPS.

maxComputeProject

String

The name of the corresponding MaxCompute project.

Data integration event list

Event list

Event type

Event (and triggering operation)

Regular event

Extension point event

EventBridge event type

(Type)

Extension event type (eventCode)

Node change event

Start task

image

image

dataworks:NodeChange:StartDiJob

start-diJob

Start tasks in batches

image

image

dataworks:NodeChange:BatchStartDiJob

batch-start-diJob

Message format

Node change event - Start task

The following example shows the message entity format (the content of the data field) for the "Start task" node change event.

## Message v1: The number of tables to start is less than 500
{
    "datacontenttype": "application/json;charset=utf-8",
    "data": {
        "eventCode": "start-diJob",
        "extensionBizId": "0a4***b8ae",
        "extensionBizName": "sync_mysql_to_odps_20240726_192307",
        "appId": 293624,
        "showTableMapping": true,
        "tenantId": 28***656,
        "blockBusiness": true,
        "id": 5280,
        "projectId": 9***4,
        "tableMapping": [
            {
                "srcTable": "xb_test_116",
                "dstDatasourceName": "odps_first",
                "srcDatabaseName": "xiaobo_sharding_79fz",
                "srcDatasourceName": "mysql_3357_pub_ip_1",
                "dstTable": "ods_xb_test_116"
            },
            {
                "srcTable": "xb_test_117",
                "dstDatasourceName": "odps_first",
                "srcDatabaseName": "xiaobo_sharding_79fz",
                "srcDatasourceName": "mysql_3357_pub_ip_1",
                "dstTable": "ods_xb_test_117"
            },
            {
                "srcTable": "xb_test_118",
                "dstDatasourceName": "odps_first",
                "srcDatabaseName": "xiaobo_sharding_79fz",
                "srcDatasourceName": "mysql_3357_pub_ip_1",
                "dstTable": "ods_xb_test_118"
            },
            {
                "srcTable": "xb_test_135",
                "dstDatasourceName": "odps_first",
                "srcDatabaseName": "xiaobo_sharding_79fz",
                "srcDatasourceName": "mysql_3357_pub_ip_1",
                "dstTable": "ods_xb_test_135"
            }
        ],
        "operator": "1504650005316516"
    }
}

## Message v2: The number of tables to start is less than 500
{
    "datacontenttype": "application/json;charset=utf-8",
    "data": {
        "extensionBizId": "59d***50fc",
        "extensionBizName": "sync_mysql_to_holo_20240911_170801",
        "blockBusiness": true,
        "operator": "19***735",
        "setting": {
            "lastStartPosition": "2024-09-11 12:00:00"
        },
        "eventCode": "start-diJob",
        "jobId": 5777,
        "forceRun": false,
        "appId": 293624,
        "showTableMapping": true,
        "tenantId": 28***656,
        "startAsV2": false,
        "tableMapping": [
            {
                "srcTable": "test_verify1",
                "dstDatasourceName": "molin_db",
                "srcDatabaseName": "di_test",
                "srcDatasourceName": "mysql_public",
                "dstTable": "test_verify1"
            },
            {
                "srcTable": "test_verify1_dst",
                "dstDatasourceName": "molin_db",
                "srcDatabaseName": "di_test",
                "srcDatasourceName": "mysql_public",
                "dstTable": "test_verify1_dst"
            },
            {
                "srcTable": "mysql_0_timetest2",
                "dstDatasourceName": "molin_db",
                "srcDatabaseName": "di_test",
                "srcDatasourceName": "mysql_public",
                "dstTable": "mysql_0_timetest2"
            }
        ]
    }
}

## Message v2: The number of tables to start is greater than 500, "showTableMapping": false
{
    "datacontenttype": "application/json;charset=utf-8",
    "data": {
        "eventCode": "start-diJob",
        "jobId": 5502,
        "forceRun": false,
        "extensionBizId": "f4c***7cbc",
        "extensionBizName": "sync_mysql_to_holo_20240412_213634",
        "appId": 330914,
        "showTableMapping": false,
        "tenantId": 28***656,
        "blockBusiness": true,
        "startAsV2": false,
        "operator": "19***735",
        "setting": {
            "lastStartPosition": "2024-04-12 22:07:02",
            "startDateTime": "2024-09-10 17:00:00",
            "timeZone": "Asia/Shanghai"
        }
    }
}

## Regular expression
{
    "datacontenttype": "application/json;charset=utf-8",
    "data": {
        "eventCode": "start-diJob",
        "jobId": 5778,
        "forceRun": false,
        "extensionBizId": "a5d***75ba",
        "extensionBizName": "sync_mysql_to_holo_20240912_170517",
        "appId": 293624,
        "showTableMapping": true,
        "tenantId": 28***656,
        "blockBusiness": true,
        "startAsV2": false,
        "tableMapping": [
            {
                "srcTable": "test.*",
                "dstDatasourceName": "molin_db",
                "srcDatabaseName": ".*",
                "srcDatasourceName": "mysql_public",
                "dstTable": "aaa"
            },
            {
                "srcTable": "shard.*",
                "dstDatasourceName": "molin_db",
                "srcDatabaseName": ".*",
                "srcDatasourceName": "mysql_public",
                "dstTable": "vvv"
            }
        ],
        "operator": "19***735"
    }
}

The following table describes the fields.

Field Name

Field type

Description

projectId

Long

The DataWorks project ID.

operator

String

The UID of the user who performed the operation.

extensionBizName

String

The solution name.

showTableMapping

Boolean

Indicates whether to return table mapping information.

  • true: Return.

  • false: Do not return.

If the number of tables exceeds 500, the default value of showTableMapping is false.

tableMapping

JSONArray

The table mapping.

srcDatasourceName

String

The source data source name.

srcDatabaseName

String

The source database name.

srcTable

String

The source table name.

dstDatasourceName

String

Name of the target data source.

dstTable

String

The destination table name.

tenantId

Long

The tenant ID.

eventCode

String

The extension event code.

Node change event - Start tasks in batches

The following example shows the message entity format (the content of the data field) for the "Start tasks in batches" node change event.

{
    "datacontenttype": "application/json;charset=utf-8",
    "data": {
        "needErrorMessage": false,
        "extensionBizId": "2de***c4c6",
        "extensionBizName": "sync_mysql_to_holo_20240911_170801,sync_mysql_to_odps_20240726_192307",
        "errorMessageOnlyFailedFileIds": false,
        "blockBusiness": true,
        "env": "prod",
        "operator": "15***516",
        "setting": {
            "startDateTime": "2024-09-12 14:00:00",
            "timeZone": "Asia/Shanghai"
        },
        "jobIds": [
            5777,
            5679
        ],
        "eventCode": "batch-start-diJob",
        "tableMappings": [
            {
                "extensionBizName": "sync_mysql_to_holo_20240911_170801",
                "id": 5777,
                "tableMapping": [
                    {
                        "srcTable": "test_verify1",
                        "dstDatasourceName": "molin_db",
                        "srcDatabaseName": "di_test",
                        "srcDatasourceName": "mysql_public",
                        "dstTable": "test_verify1"
                    },
                    {
                        "srcTable": "test_verify1_dst",
                        "dstDatasourceName": "molin_db",
                        "srcDatabaseName": "di_test",
                        "srcDatasourceName": "mysql_public",
                        "dstTable": "test_verify1_dst"
                    },
                    {
                        "srcTable": "mysql_0_timetest2",
                        "dstDatasourceName": "molin_db",
                        "srcDatabaseName": "di_test",
                        "srcDatasourceName": "mysql_public",
                        "dstTable": "mysql_0_timetest2"
                    }
                ]
            },
            {
                "extensionBizName": "sync_mysql_to_odps_20240726_192307",
                "id": 5679,
                "tableMapping": [
                    {
                        "srcTable": "xb_test_116",
                        "dstDatasourceName": "odps_first",
                        "srcDatabaseName": "xiaobo_sharding_79fz",
                        "srcDatasourceName": "mysql_3357_pub_ip_1",
                        "dstTable": "ods_xb_test_116"
                    },
                    {
                        "srcTable": "xb_test_117",
                        "dstDatasourceName": "odps_first",
                        "srcDatabaseName": "xiaobo_sharding_79fz",
                        "srcDatasourceName": "mysql_3357_pub_ip_1",
                        "dstTable": "ods_xb_test_117"
                    },
                    {
                        "srcTable": "xb_test_118",
                        "dstDatasourceName": "odps_first",
                        "srcDatabaseName": "xiaobo_sharding_79fz",
                        "srcDatasourceName": "mysql_3357_pub_ip_1",
                        "dstTable": "ods_xb_test_118"
                    },
                    {
                        "srcTable": "xb_test_135",
                        "dstDatasourceName": "odps_first",
                        "srcDatabaseName": "xiaobo_sharding_79fz",
                        "srcDatasourceName": "mysql_3357_pub_ip_1",
                        "dstTable": "ods_xb_test_135"
                    }
                ]
            }
        ],
        "appId": 293624,
        "showTableMapping": true,
        "tenantId": 52***018,
        "projectId": 9***4
    }
}

The following table describes the fields.

Field Name

Field type

Description

projectId

Long

The DataWorks project ID.

operator

String

The UID of the user who performed the operation.

extensionBizName

String

The solution name.

setting

JSONObject

The startup configuration item.

startDateTime

String

The startup time.

timeZone

String

The startup time zone.

tableMapping

JSONArray

The table mapping.

srcDatasourceName

String

The source data source name.

srcDatabaseName

String

The source database name.

srcTable

String

The source table name.

dstDatasourceName

String

Specifies the name of the target data source.

dstTable

String

The destination table name.

showTableMapping

Boolean

Indicates whether to return table mapping information.

  • true: Return.

  • false: Do not return.

If the number of tables exceeds 500, the default value of showTableMapping is false.

tenantId

Long

The tenant ID.

eventCode

String

The extension event code.

Operation Center event list

Event list

Important

Modifying the schedule resource group or the owner triggers a node-change-updated event.

Event type

Event (and triggering operation)

Regular event

Extension point event

EventBridge event type

(Type)

Extension event type (eventCode)

Node change

Delete node

  • Publish a delete operation to take a production node offline

  • Delete a node from the recycle bin

image

image

dataworks:NodeChange:NodeChangeDeleted

node-change-deleted

Pre-unpublish node event

Directly take a recurring task node offline in the production environment

Note

This operation also deletes the node in Data Studio and moves it to the recycle bin.

image

image

dataworks:NodeChange:UndeployNode

undeploy-node

Pre-freeze node event

Important

This event also triggers a node-change-updated event.

image

image

dataworks:NodeChange:FreezeNode

freeze-node

Pre-unfreeze node event

Important

This event also triggers a node-change-updated event.

image

image

dataworks:NodeChange:UnFreezeNode

unfreeze-node

Node data backfill

Pre-data backfill event

image

image

dataworks:BackfillDataOperate:BackfillData

backfill-data

Task status change

Scheduling task status change

image

image

dataworks:InstanceStatusChanges:InstanceStatusChanges

instance-status-changes

Instance change

Freeze instance

image

image

dataworks:InstanceChange:FreezeInstance

freeze-instance

Unfreeze instance

image

image

dataworks:InstanceChange:UnfreezeInstance

unfreeze-instance

Stop instance

image

image

dataworks:InstanceChange:KillInstance

kill-instance

Rerun instance

  • Rerun

  • Rerun downstream

image

image

dataworks:InstanceChange:RerunInstance

rerun-instance

Set instance to successful

image

image

dataworks:InstanceChange:SetInstanceSuccess

set-instance-success

Remove specified upstream dependency of an instance

image

image

dataworks:InstanceChange:DeleteTaskInstanceDependencies

delete-task-instance-dependencies

Pre-freeze instance event

image

image

dataworks:InstanceChange:PreFreezeInstance

pre-freeze-instance

Pre-unfreeze instance event

image

image

dataworks:InstanceChange:PreUnfreezeInstance

pre-unfreeze-instance

Pre-rerun instance event

image

image

dataworks:InstanceChange:PreRerunInstance

pre-rerun-instance

Pre-set instance to successful event

image

image

dataworks:InstanceChange:PreSetInstanceSuccess

pre-set-instance-success

Pre-kill instance event

image

image

dataworks:InstanceChange:PreKillInstance

pre-kill-instance

Delete expired instance

image

image

dataworks:InstanceChange:ExpiredTaskInstancesDeleted

expired-task-instances-deleted

Workflow status change

Workflow status change

  • Data backfill instance

  • Manually triggered workflow

image

image

dataworks:DagStatusChanges:DagStatusChanges

dag-status-changes

Monitoring and alerts

Monitoring and alerts

image

image

dataworks:MonitorAlert:WorkbenchMonitorAlert

workbench-monitor-alert

Message format

Node change events (delete, unpublish, freeze, unfreeze)

  • The following example shows the message entity format (the content of the data field) for a node deletion event.

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "nodeName": "",
        "programType": "ODPS_SQL",
        "cronExpress": "00 20 00 * * ?",
        "schedulerType": "NORMAL",
        "ownerId": "19****735",
        "priority": 1,
        "baselineId": 117801853,
        "repeatability": true,
        "modifyTime": 1646364549642,
        "createTime": 1646364549642,
        "datasource": "odps_source",
        "tenantId": 28378****10656,
        "nodeId": 100***150,
        "projectId": 30**95,
        "operator": "19***735"  // The user who performed this operation
      }
    }

    The following table describes the fields.

    Field Name

    Field type

    Description

    nodeName

    String

    The name of the node.

    programType

    String

    The code type of the file. You can call the ListFileType operation to query the code type of the file, or see Supported node types.

    cronExpress

    String

    The cron expression for the recurring schedule.

    This parameter corresponds to the Scheduling Configuration > Time Property > Cron Expression setting for a Data Development task in the DataWorks console.

    After you configure the scheduling cycle and scheduled time, DataWorks automatically generates a cron expression. Examples:

    • Scheduled to run at 05:30 every day: 00 30 05 * * ?

    • Scheduled to run at 15 minutes past every hour: 00 15 * * * ?

    • Scheduled to run every 10 minutes: 00 00/10 * * * ?

    • Scheduled to run every 10 minutes from 08:00 to 17:00 every day: 00 00-59/10 8-17 * * * ?

    • Scheduled to run at 00:20 on the first day of each month: 00 20 00 1 * ?

    • Scheduled to run every three months, starting from 00:10 on January 1: 00 10 00 1 1-12/3 ?

    • Scheduled to run at 00:05 on Tuesdays and Fridays: 00 05 00 * * 2,5

    Note

    The following limits apply to cron expressions:

    • The minimum scheduling interval is 5 minutes.

    • The earliest scheduled time is 00:05.

    schedulerType

    String

    The scheduling type of the task instance. Valid values:

    • 0: NORMAL. The task is a regularly scheduled task and is run on a recurring basis.

    • 1: MANUAL. The task is a one-time task and is not run on a recurring basis.

    • 2: PAUSE. The task is frozen. It is scheduled on a recurring basis, but its status is set to failed upon startup.

    • 3: SKIP. The task is a dry-run task. It is scheduled on a recurring basis, but its status is set to successful upon startup.

    • 4: SKIP_UNCHOOSE. The task is not selected in a temporary workflow. It exists only in the temporary workflow and its status is set to successful upon startup.

    • 5: SKIP_CYCLE. The task is a weekly or monthly task that has not reached its running cycle. It is scheduled on a recurring basis, but its status is set to successful upon startup.

    • 6: CONDITION_UNCHOOSE. An upstream instance has a branch (IF) node, but this descendant node is not selected by the branch node. The task is treated as a dry-run task.

    • 7: REALTIME_DEPRECATED. The recurring instance is generated in real time but has expired. The status of this type of task is set to successful.

    ownerId

    String

    The Alibaba Cloud user ID of the node owner. If this parameter is empty, the Alibaba Cloud user ID of the caller is used by default.

    priority

    Integer

    The task priority. Valid values are 1, 3, 5, 7, and 8. A larger value indicates a higher priority.

    baselineId

    Long

    The baseline ID.

    repeatability

    Boolean

    Indicates whether the node can be run repeatedly:

    • true: The node can be run repeatedly.

    • false: The node cannot be run repeatedly.

    modifyTime

    Long

    The time when the node was last modified.

    createTime

    Long

    The time when the node was created.

    nodeId

    Long

    The node ID.

    projectId

    Long

    The ID of the project where the node is located.

    tenantId

    Long

    The ID of the tenant to which the node belongs.

    operator

    String

    The UID of the user who created, modified, or deleted the node.

  • The following example shows the message entity format (the content of the data field) for node freeze, unfreeze, and unpublish events.

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "operator": "19***735",
        "projectId": 12***56,
        "tenantId": 28***656,
        "nodeIds":[1,2,3],
        "extensionBizId": "12***56"
      }
    }

    The following table describes the fields.

    Field Name

    Field type

    Description

    operator

    String

    The UID of the user who froze, unfroze, or unpublished the node.

    projectId

    Long

    The ID of the project where the node is located.

    tenantId

    Long

    The tenant ID.

    nodeIds

    Array

    A list of IDs of the nodes that were operated on.

    extensionBizId

    String

    The ID of the extension checkpoint process.

Node data backfill

The following example shows the message entity format (the content of the data field) for a data backfill operation event.

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "excludeNodeIds":[],
    "rootNodeId": 1000****271,
    "startFutureInstanceImmediately": false,
    "useMultipleTimePeriods": true,
    "operator": "19***735",
    "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": 9***4,
    "order": "asc",
    "extensionBizId": "12***56"
  }
}

The following table describes the fields.

Field name

Field Type

Description

name

String

The name of the data backfill workflow.

rootNodeId

Long

The ID of the root vertex of the data backfill workflow.

rootNodeProjectId

Long

The ID of the project where the root vertex of the data backfill workflow is located.

includeNodeIds

Array

A list of node IDs for which data is backfilled.

excludeNodeIds

Array

A list of node IDs for which data is not backfilled. Dry-run instances are generated for these nodes. After being scheduled, the dry-run instances run successfully without executing the script content.

bizBeginTime

String

The start time of the task. This parameter is required only for hourly scheduled tasks. The format is HH:mm:ss, and the value range is 00:00:00 to 23:59:59.

bizEndTime

String

The end time of the task. This parameter is required only for hourly scheduled tasks. The format is HH:mm:ss, and the value range is 00:00:00 to 23:59:59.

isParallel

Boolean

Indicates whether the data backfill operation can run in parallel:

  • true: Can run in parallel.

  • false: Cannot run in parallel.

parallelGroup

Integer

The number of groups for parallel execution. A value of 1 means no grouping.

startFutureInstanceImmediately

Boolean

Indicates whether to skip the scheduled time and immediately run instances for future times:

  • true: Skip the scheduled time and run future instances immediately.

  • false: Do not skip the scheduled time. Future instances are not run immediately.

order

String

The order in which data backfill runs based on the data timestamp:

  • asc: Run in ascending order of data timestamp.

  • desc: Run in descending order of data timestamp.

multipleTimePeriods

String

Select data timestamps in segments. Example: [{\"bizBeginTime\":\"2022-04-17\",\"bizEndTime\":\"2022-04-17\"}].

tenantId

Long

The tenant ID.

projectId

Long

The ID of the project where the data backfill operation is performed.

operator

String

The ID of the user who performed the data backfill operation.

extensionBizId

String

The ID of the extension checkpoint process.

eventCode

String

The extension event code.

Task status change event

The following example shows the message entity format (the content of the data field) for a scheduling task status change event.

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

The following table describes the fields.

Field Name

Field type

Description

finishTime

Long

The specific time when the scheduling task instance finished running.

beginWaitTimeTime

Long

The specific time when the scheduling task instance started waiting to run.

beginRunningTime

Long

The specific time when the scheduling task instance started running.

dagId

Long

You can get the Dag details based on the DagId.

dagType

Integer

The type of Dag. Valid values:

  • 0: Recurring schedule task

  • 1: One-time task

  • 2: Smoke testing

  • 3: Data backfill

  • 4: Temporary workflow

  • 5: Manually triggered workflow

taskType

Integer

The scheduling type of the task instance. Valid values:

  • 0: NORMAL. The task is a regularly scheduled task and is run on a recurring basis.

  • 1: MANUAL. The task is a one-time task and is not run on a recurring basis.

  • 2: PAUSE. The task is frozen. It is scheduled on a recurring basis, but its status is set to failed upon startup.

  • 3: SKIP. The task is a dry-run task. It is scheduled on a recurring basis, but its status is set to successful upon startup.

  • 4: SKIP_UNCHOOSE. The task is not selected in a temporary workflow. It exists only in the temporary workflow and its status is set to successful upon startup.

  • 5: SKIP_CYCLE. The task is a weekly or monthly task that has not reached its running cycle. It is scheduled on a recurring basis, but its status is set to successful upon startup.

  • 6: CONDITION_UNCHOOSE. An upstream instance has a branch (IF) node, but this descendant node is not selected by the branch node. The task is treated as a dry-run task.

  • 7: REALTIME_DEPRECATED. The recurring instance is generated in real time but has expired. The status of this type of task is set to successful.

modifyTime

Long

The time when the task instance was last modified.

createTime

Long

The time when the task instance was created.

appId

Long

The workspace ID. You can call ListProjects to view the workspace ID.

tenantId

Long

The ID of the tenant for the workspace where the scheduling task instance is located.

opCode

Integer

The operation code of the scheduling task instance. This field can be ignored.

flowId

Long

The workflow ID.

  • For a recurring schedule task instance, the default workflow ID is 1.

  • For a manually triggered workflow and an internal workflow scheduling task instance, this is the actual workflow ID.

nodeId

Long

The ID of the node corresponding to the scheduling task instance.

beginWaitResTime

Long

The specific time when the scheduling task instance started waiting for resources.

taskId

Long

The ID of the scheduling task instance.

status

Integer

The status of the task. Valid values:

  • 1: Not run.

  • 2: Waiting for the scheduled time (dueTime or cycleTime).

  • 3: Waiting for resources.

  • 4: Running.

  • 7: Sent to Data Quality for data validation.

  • 8: Performing branch condition check.

  • 5: Execution failed.

  • 6: Execution successful.

eventCode

String

The extension event code.

Instance change events (freeze, unfreeze, stop, rerun, set to successful)

The following example shows the message entity format (the content of the data field) for an instance change event.

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "eventCode": "freeze-instance",
    "operator": "19***735",
    "projectId": 12***8,
    "projectType": "PROD",
    "taskIds": [
      523***9736
    ],
    "tenantId": 28***656
  }
}

The following table describes the fields.

Field Name

Field Type

Description

operator

String

The UID of the user who performed the operation on the instance (such as freeze, unfreeze, stop, rerun, or set to successful).

projectType

String

The running environment.

  • PROD: Production environment.

  • DEV: Development environment.

taskIds

List<Long>

A collection of instance IDs.

projectId

Long

The DataWorks project ID.

tenantId

Long

The ID of the tenant for the workspace where the instance is located.

eventCode

String

The event code.

Pre-instance change events (freeze, unfreeze, rerun, set to successful, kill instance)

The following example shows the message entity format (the content of the data field) for a pre-instance change event.

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "eventCode": "pre-freeze-instance",
    "extensionBizId": "055***afaa",
    "extensionBizName": "Node name",
    "projectId": 9***4,
    "taskIds": [
      523536569736
    ],
    "tenantId": 28***656,
    "operator": "19***735"
  }
}

The following table describes the fields.

Field Name

Type

Description

extensionBizId

String

The ID of the extension checkpoint process.

extensionBizName

String

The name of the object being operated on. If there are multiple objects, they are described as "Object Name...".

projectId

Long

The DataWorks project ID.

taskIds

List<Long>

A collection of instance IDs.

tenantId

String

The ID of the tenant for the workspace where the instance is located.

operator

Long

The UID of the user who operated on the instance.

eventCode

String

The extension point event code.

Instance change event - Delete expired instance

The following example shows the message entity format (the content of the data field) for an event to delete an expired instance.

{
    "datacontenttype": "application/json;charset=utf-8",
    "data": {
        "eventCode": "expired-task-instances-deleted",
        "deletedTaskInstanceIds": [
            524***035,
            524***498,
            524***637
        ],
        "appId": 307303,
        "tenantId": 28***656,
        "blockBusiness": false,
        "owner": "1107***538",
        "operationTime": 1734505954897
    }
}

The following table describes the fields.

Field Name

Field type

Description

deletedTaskInstanceIds

List

A list of IDs of the deleted instances.

owner

String

The user ID of the instance owner.

operationTime

Long

The time of the operation.

blockBusiness

Boolean

Indicates whether to stop the process when an extension exists.

  • true: Stop.

  • false: Do not stop.

appId

Long

The DataWorks project ID.

tenantId

String

The ID of the tenant for the workspace where the instance is located.

operator

Long

The UID of the user who operated on the instance.

eventCode

String

The extension point event code.

Remove specified upstream dependency of an instance event

The following example shows the message entity format (the content of the data field) for removing a specified upstream dependency of an instance.

{
    "datacontenttype": "application/json;charset=utf-8",
    "aliyunaccountid": "110******38",
    "aliyunpublishtime": "2024-12-18T07:12:35.463Z",
    "data": {
        "eventCode": "delete-task-instance-dependencies",
        "upstreamTaskInstanceIds": [
            52******35,
            52******98,
            52******37
        ],
        "appId": 3***03,
        "tenantId": 52******36,
        "blockBusiness": false,
        "taskInstanceId": 52******49,
        "operator": "19***735",
        "operationTime": 1734505954897
    }
}

The fields are described as follows:

Field Name

Field type

Description

taskInstanceId

Long

The downstream instance ID.

upstreamTaskInstanceIds

List

A list of upstream instance IDs whose dependencies are removed.

operator

String

The UID of the user who performed the operation.

operationTime

Long

The time of the operation.

Workflow status change event

The following example shows the message entity format (the content of the data field) for a workflow status change event.

{
  "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
  }
}

The following table describes the fields.

Field Name

Field Type

Description

bizDate

String

The data timestamp for the workflow is in the yyyy-mm-dd hh24:mi:ss format.

createTime

String

The time when the workflow was created. The format is yyyy-mm-dd hh24:mi:ss.

dagId

Long

The DagId. You can get the Dag details based on the DagId.

dagName

String

The name of the workflow.

dagType

Integer

The type of Dag. Valid values:

  • 0: Recurring schedule task.

  • 1: One-time task.

  • 2: Smoke testing.

  • 3: Data backfill.

  • 4: Temporary workflow.

  • 5: Manually triggered workflow.

flowId

Integer

The ID of the business flow corresponding to the workflow.

flowName

String

The name of the business flow associated with the workflow.

operator

String

The UID of the user who created the workflow.

projectEnv

String

The environment to which the workflow belongs. Valid values:

  • DEV: Development environment.

  • PROD: Production environment.

tenantId

Long

The ID of the tenant for the workspace where the scheduling task instance is located.

projectId

Long

The workspace ID.

status

Integer

The status of the task in the workflow. Valid values:

  • 1: Not run.

  • 4: Running.

  • 5: Execution failed.

  • 6: Execution successful.

eventCode

String

The extension event code.

Monitoring and alerts

  • The following example shows the message entity format (the content of the data field) for a baseline alert.

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "eventCode": "workbench-monitor-alert",
        "alarmType": "SLA_ALERT",
        "baselineId": 137***723,
        "baselineName": "ods layer check task dedicated -- hourly",
        "baselineStatus": 3,
        "bizDate": 1654444800000,
        "inGroupId": 14,
        "nodeId": 1000***8734,
        "projectId": 76***34,
        "taskId": 307***3778,
        "tenantId": 28***656
      }
    }

    The following table describes the fields.

    Field Name

    Field type

    Description

    alarmType

    String

    The alarm metric. Valid values:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    baselineId

    Long

    The baseline ID.

    baselineName

    String

    The baseline name.

    baselineStatus

    Integer

    The baseline status. Valid values:

    • -1: Abnormal.

    • 1: Safe.

    • 2: Warning.

    • 3: Dashed line.

    bizDate

    Long

    Timestamp.

    inGroupId

    Integer

    The cycle number of the baseline instance. For a daily baseline, the value is 1. For an hourly baseline, the value range is [1,24].

    nodeId

    Long

    The ID of the node that caused the baseline to become abnormal.

    projectId

    Long

    The ID of the project to which the baseline belongs.

    taskId

    Long

    The ID of the instance that caused the baseline to become abnormal.

    tenantId

    Long

    The tenant ID.

    eventCode

    String

    The extension event code.

  • The following example shows the message entity format (the content of the data field) for an event alert.

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "alarmType": "TOPIC_ALERT",
        "nodeId": 1000***315,
        "projectId": 91***09,
        "taskId": 307***0357,
        "taskStatus": 5,
        "tenantId": 28***656,
        "topicId": 1084769
      }
    }

    The following table describes the fields.

    Field Name

    Field type

    Description

    alarmType

    String

    The alarm metric. Valid values:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    topicId

    Long

    The event ID.

    taskStatus

    String

    The status of the node instance that triggered the event.

    nodeId

    Integer

    The ID of the node that triggered the event.

    projectId

    Long

    The ID of the project to which the node that triggered the event belongs.

    taskId

    Long

    The ID of the node instance that triggered the event.

    tenantId

    Long

    The tenant ID.

  • The following example shows the message entity format (the content of the data field) for a task rule alert.

    Note

    Typically, the rule object is a task node, baseline, workspace, or workflow.

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "alarmType": "REMIND_ALERT",
        "nodeIds": "1000***5472,1000***5473,1000***5474",
        "projectId": 9***4,
        "remindId": 7605,
        "remindName": "Error Alert",
        "remindType": "ERROR",
        "remindUnit": "NODE",
        "taskIds": "307***0896,307***0870,307***0855",
        "tenantId": 28***656
      }
    }

    The following table describes the fields.

    Field Name

    Field type

    Description

    alarmType

    String

    The alarm metric. Valid values:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    nodeIds

    String

    A list of nodes that triggered the rule alert.

    remindId

    Long

    The rule ID.

    remindType

    Stirng

    The condition that triggers the rule. Valid values:

    • FINISHED: Finished.

    • UNFINISHED: Unfinished.

    • ERROR: Error occurred during running.

    • CYCLE_UNFINISHED: Cycle unfinished.

    • TIMEOUT: Running timed out.

    projectId

    Long

    The ID of the project to which the node that triggered the rule belongs.

    remindUnit

    String

    The type of object that triggered the rule. Valid values:

    • NODE: Task node.

    • GATEWAY_RES: Exclusive resource group for scheduling.

    • DI_RES: Data integration resource group.

    tenantId

    Long

    The tenant ID.

    taskId

    String

    A list of instances that triggered the rule alert.

    remindName

    String

    The rule name.

  • The following example shows the message entity format (the content of the data field) for a resource group rule alert.

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "alarmType": "REMIND_ALERT",
        "projectId": 9***4,
        "remindId": 200***186,
        "remindName": "Exclusive Resource Group Alert",
        "remindType": "RES_GROUP_THRESHOLD",
        "remindUnit": "GATEWAY_RES",
        "resourceGroupIdentifier": "S_res_group_195820716552192_1650965857744",
        "resourceGroupName": "emr_exclusive_scheduld",
        "resourceGroupType": "GATEWAY",
        "tenantId": 28***656
      }
    }

    The following table describes the fields.

    Field name

    Field Type

    Description

    alarmType

    String

    The alarm metric. Valid values:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    remindId

    Long

    The rule ID.

    remindType

    Stirng

    The condition that triggers the rule. Valid values:

    • FINISHED: Finished.

    • UNFINISHED: Unfinished.

    • ERROR: Error occurred during running.

    • CYCLE_UNFINISHED: Cycle unfinished.

    • TIMEOUT: Running timed out.

    • RES_GROUP_THRESHOL: Resource group utilization.

    • RES_GROUP_WAIT_AMOUNT: Number of instances waiting for resources in the resource group.

    projectId

    Long

    The ID of the project to which the node that triggered the rule belongs.

    remindUnit

    String

    The type of object that triggered the rule. Valid values:

    • NODE: Task node.

    • GATEWAY_RES: Exclusive resource group for scheduling.

    • DI_RES: Data integration resource group.

    tenantId

    Long

    The tenant ID.

    remindName

    String

    The rule name.

    resourceGroupIdentifier

    String

    The unique identifier of the resource group.

    resourceGroupName

    String

    The resource group name.

    resourceGroupType

    String

    The resource group type. Valid values:

    • GATEWAY: Schedule resource group.

    • DI: Data integration resource group.

Security Center event list

Event list

Event type

Event (and triggering operation)

Regular event

Extension point event

EventBridge event type

(Type)

Extension message type (eventCode)

Approval Center

Pre-create permission request event

image

image

dataworks:ApprovalChange:ApprovalChangeCreated

approval-change-created

Complete request

image

image

dataworks:ApprovalChange:ApprovalChangeFinished

approval-change-finished

Security Center (table permission request)

Pre-request table permission event

image

image

dataworks:ApprovalChange:ApprovalChangeBeforeCreate

approval-change-before-create

Message format

Approval Center (create, complete request)

  • The following example shows the message entity format (the content of the data field) for a pre-create permission request event.

    {
      "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":"test",
            "arrayData":[
              {
                "ownerBaseId":"1822***45",
                "objectType":"TABLE",
                "odpsTable":"loghub_070103",
                "envType":1,
                "projectGuid":"odps.b_mc1",
                "objectGuid":"odps.b_mc1.loghub_070103",
                "tenantId":28***656,
                "objectName":"loghub_070103",
                "ownerAccountName":"ALIYUN$******(******)",
                "odpsProject":"B_MC1",
                "projectName":"B_MC1",
                "actions":[
                  "Select",
                  "Describe"
                ],
                "projectId":9***4,
                "workspaceId":"9***4"
              }
            ],
            "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":28***656,
            "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":28***656,
        "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":"286098***2899",
            "applicantName":"yupeng.sunyp",
            "approvalContent":{
                "applyPeriod":"2997964800000",
                "applyReason":"test",
                "arrayData":[
                    {
                        "ownerBaseId":"2382***884", 
                        "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":9***4,
                        "workspaceId":"9***4"
                    }
                ],
                "contentType":"application/json",
                "granteeAccounts":[
                    {
                        "granteeId":"286***899",
                        "granteeTypeSub":103,
                        "granteeType":1,
                        "granteeName":"RAM$dataworks_3h1_1:yupeng.sunyp"
                    }
                ],
                "odpsProjectName":"da_simple_202112",
                "projectEnv":"1",
                "resourceSummary":"cdd",
                "tenantId":28***656,
                "workspaceId":227859
            },
            "assignmentCategory":"MaxCompute",
            "createTime":1652095981000,
            "processDefinitionId":"definition-6e6418e6-c65f-4f26-a673-88576b1c1e4a",
            "processId":"528***192",
            "status":"Pending",
            "title":"MaxComputeTable",
            "updateTime":1652095981000
        }

    The following table describes the fields.

    Field name

    Type

    Description

    appId

    Long

    The workspace ID.

    assignee

    String

    The BaseId of the approver.

    assigneeName

    String

    The name of the approver.

    comments

    String

    The remarks.

    createTime

    Long

    The UNIX timestamp when the request was created.

    processId

    String

    The request ID.

    status

    String

    The request status.

    taskId

    String

    The approval task ID.

    tenantId

    String

    The tenant ID.

    updateTime

    String

    The UNIX timestamp when the request was updated.

    eventType

    String

    The event type.

    process

    Object

    The approval task object.

    applicant

    String

    You can request a BaseID.

    applicantName

    String

    The applicant's name.

    assignmentCategory

    String

    The type of content requested.

    createTime

    String

    The timestamp when the approval was created.

    processDefinitionId

    String

    The workflow definition ID.

    processId

    String

    The workflow ID.

    status

    String

    The workflow status.

    title

    String

    The workflow title.

    updateTime

    Long

    The UNIX timestamp when the request was updated.

    approvalContent

    Object

    The approval content object.

    applyPeriod

    String

    The duration of the permission request.

    applyReason

    String

    The reason for the permission request.

    contentType

    String

    The type of approval content.

    odpsProjectName

    String

    The name of the project for which permissions are requested.

    resourceSummary

    String

    The resource description.

    tenantId

    Long

    The tenant ID.

    workspaceId

    Long

    The workspace ID.

    projectEnv

    String

    The environment of the project for which permissions are requested.

    granteeAccounts

    Array

    The list of grantees.

    .granteeId

    String

    The ID of the grantee.

    granteeType

    String

    Authorization type.

    granteeTypeSub

    String

    Principal subtype

    granteeName

    String

    The name of the grantee.

    arrayData

    Array

    The list of authorization content. For more information, see Development reference: Event list and message format.

    eventType

    String

    The event type.

  • The following example shows the message entity format (the content of the data field) for a complete request event.

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "appId": 227859,
        "assignee": "286098539641742899",
        "eventCode": "approval-change-finished",
        "assigneeName": "******.******",
        "comments": "ces",
        "createTime": 1652095981000,
        "eventType": "approval",
        "process": {
          "applicant": "286****899",
          "applicantName": "yupeng.sunyp",
          "approvalContent": {
            "applyPeriod": "2997***0000",
            "applyReason": "test",
            "arrayData": [
              {
                "ownerBaseId": "2382***8*884",
                "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": 9***4,
                "workspaceId": "9***4"
              }
            ],
            "contentType": "application/json",
            "granteeAccounts": [
              {
                "granteeId": "286***899",
                "granteeTypeSub": 103,
                "granteeType": 1,
                "granteeName": "RAM$dataworks_3h1_1:yupeng.sunyp"
              }
            ],
            "odpsProjectName": "da_simple_202112",
            "projectEnv": "1",
            "resourceSummary": "cdd",
            "tenantId": 28***656,
            "workspaceId": 227859
          },
          "assignmentCategory": "MaxCompute",
          "createTime": 1652095981000,
          "processDefinitionId": "definition-6e6418e6-c65f-4f26-a673-88576b1c1e4a",
          "processId": "528***192",
          "status": "Pending",
          "title": "MaxComputeTable",
          "updateTime": 1652095981000
        }
      }
    }

    The following describes the fields:

    Field Name

    Type

    Description

    appId

    Long

    The workspace ID.

    assignee

    String

    The BaseId of the approver.

    assigneeName

    String

    The name of the approver.

    comments

    String

    The remarks.

    createTime

    Long

    The UNIX timestamp when the request was created.

    processId

    String

    The request ID.

    status

    String

    The request status.

    taskId。

    String

    The approval task ID.

    tenantId

    String

    The tenant ID.

    updateTime

    String

    The UNIX timestamp when the request was last updated.

    eventType

    String

    The event type.

    process

    Object

    The approval task object.

    applicant

    String

    You can request a BaseID.

    applicantName

    String

    The applicant's name.

    assignmentCategory

    String

    The type of content requested.

    createTime

    String

    The timestamp at which the approval was created.

    processDefinitionId

    String

    The workflow definition ID.

    processId

    String

    The workflow ID.

    status

    String

    The workflow status.

    title

    String

    The workflow title.

    updateTime

    Long

    The timestamp when the approval was updated.

    approvalContent

    Object

    The approval content object.

    applyPeriod

    String

    The duration.

    applyReason

    String

    The reason for the request.

    contentType

    String

    The content type.

    odpsProjectName

    String

    The project name.

    resourceSummary

    String

    The resource description.

    tenantId

    Long

    The tenant ID.

    workspaceId

    Long

    The workspace ID.

    projectEnv

    String

    The environment.

    granteeAccounts

    Array

    The list of grantees.

    granteeId

    String

    The ID of the grantee.

    granteeType

    String

    Authorization type

    granteeTypeSub

    String

    The sub-type of the grantee. This indicates the account type:

    • Production Alibaba Cloud account (used for production scheduling): ACCOUNT_PRD(101)

    • Application's Alibaba Cloud account: ACCOUNT_APP(102)

    • Alibaba Cloud account (Personal): ACCOUNT_USER(103)

    • Department Alibaba Cloud account: ACCOUNT_DEPT(104)

    • MOCK account: ACCOUNT_MOCK(106)

    • Other user's Alibaba Cloud account: ACCOUNT_OTHER_USER(105)

    granteeName

    String

    The name of the grantee.

    arrayData

    Array

    The list of authorization content. For more information, see Development reference: Event list and message format.

    eventType

    String

    The event type.

Security Center (Pre-request table permission event)

The following example shows the message entity format (the content of the data field) for a pre-request table permission event.

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "eventType": "approval-create-before",
    "operator":"19***735",
    "order":{
      "applyReason":"test",
      "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
  }
}

The following table describes the fields.

Field Name

Field Type

Description

operator

String

The UID of the user who performed the pre-table permission request operation.

projectId

Long

The workspace ID where the pre-table permission request operation is performed.

tenantId

Long

The tenant ID of the user who performed the pre-table permission request operation.

order

Object

The request information.

applyReason

String

The reason for the request.

deadlineDate

String

The validity period of the request.

deadlineType

String

The time unit for the validity period of the request. Examples: Day, Month.

granteeObjectList

Object

The list of grantees.

granteeId

String

The grantee ID, which is the RAM user ID.

projectMeta

Object

The workspace information.

envCode

Integer

The workspace environment identifier. 0 indicates the development environment, and 1 indicates the production environment.

labelSecurity

Boolean

Indicates whether label-level control is enabled:

  • true: Enabled.

  • false: Disabled.

objectMetaList

Array

The list of objects to be authorized.

action

Array

The authorization actions. For example, granting Select or Describe permissions on a table.

name

String

The name of the table for which permissions are requested.

projectGuid

String

The Guid of the workspace where the table is located.

projectName

String

The name of the workspace where the table is located.

eventType

String

The event type.

Appendix: Authorization content list (MaxCompute)

When DataWorks triggers approval and table permission requests in the Security Center, the event messages sent to EventBridge include the arrayData field. When the assignmentCategory is MaxCompute, the content of the arrayData field is as follows:

{
    "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":9***4,
    "workspaceId":"9***4"
  }

The following describes the fields:

Field Name

Field Type

Description

ownerBaseId

String

The BaseID of the table owner.

ownerAccountName

String

The name of the table owner.

objectType

String

The object type.

odpsTable

String

The table name.

envType

String

The environment to which the table belongs.

projectGuid

String

The project Guid.

objectGuid

String

The object Guid.

objectName

String

The object name.

odpsProject

String

The ODPS project name.

projectName

String

The project code.

projectId

Long

The project ID.

workspaceId

String

The workspace ID.

actions

Array

The list of action types.

Appendix: Authorization content list (DataService)

When DataWorks triggers approval and table permission requests in the Security Center, the event messages sent to EventBridge include the arrayData field. When the assignmentCategory is DataService, the content of the arrayData field is as follows:

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

The fields are as follows:

Field Name

Type

Description

resourceId

String

The resource ID.

ownerName

String

The name of the resource owner.

resourceVersion

Long

The resource version.

name

String

The resource name.

dsDeployId

String

The DataService deployment ID.

workspaceName

String

The workspace name.

id

String

The unique resource ID.

type

String

The resource type. Valid values:

  • 1: API.

  • 2: Function.

  • 3: Service orchestration.

ownerId

String

The BaseID of the resource owner.

url

String

The DataService link address.

workspaceId

String

The workspace ID.

Data Quality event list

Event list

Event type

Event (and triggering operation)

Regular event

Extension point event

EventBridge event type

(Type)

Extension event type (eventCode)

Data quality validation

Validation result feedback

  • User feedback on validation results

image

image

dataworks:DqcCheck:DqcCheckFeedbackEvent

dqc-check-feedback-event

Validation completed

  • Rule validation completed. The rule validation result (whether it passed, sample, etc.) is sent.

image

image

dataworks:DqcCheck:DqcCheckFinishedEvent

dqc-check-finished-event

Data quality rule pre-operation

Pre-batch create data quality rules event

image

image

dataworks:DqcCheck:BatchCreateDataQualityRules

batch-create-data-quality-rules

Pre-batch update data quality rules event

image

image

dataworks:DqcCheck:BatchUpdateDataQualityRules

batch-update-data-quality-rules

Batch delete prerequisite events for Data Quality rules

image

image

dataworks:DqcCheck:BatchDeleteDataQualityRules

batch-delete-data-quality-rules

Pre-update data quality rule event

image

image

dataworks:DqcCheck:UpdateDataQualityRule

update-data-quality-rule

Data quality monitoring pre-operation

Create a prerequisite event for data quality monitoring

image

image

dataworks:DqcCheck:CreateDataQualityEvaluationTask

create-data-quality-evaluation-task

Pre-update data quality monitoring event

image

image

dataworks:DqcCheck:UpdateDataQualityEvaluationTask

update-data-quality-evaluation-task

Clone a pre-check event for Data Quality monitoring

image

image

dataworks:DqcCheck:CloneDataQualityEvaluationTask

clone-data-quality-evaluation-task

Batch delete prerequisite events for Data Quality monitoring

image

image

dataworks:DqcCheck:BatchDeleteDataQualityEvaluationTasks

batch-delete-data-quality-evaluation-tasks

Data quality monitoring alert subscription pre-operation

Create a prerequisite event for a subscription to Data Quality monitoring and alerting

image

image

dataworks:DqcCheck:CreateDataQualityEvaluationTaskNotification

create-data-quality-evaluation-task-notification

Pre-update data quality monitoring alert subscription event

image

image

dataworks:DqcCheck:UpdateDataQualityEvaluationTaskNotification

update-data-quality-evaluation-task-notification

Pre-delete data quality monitoring alert subscription event

image

image

dataworks:DqcCheck:DeleteDataQualityEvaluationTaskNotification

delete-data-quality-evaluation-task-notification

Message format

Data quality validation

  • The following example shows the message entity format (the content of the data field) for a data quality validation result feedback event.

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

    The following table describes the important fields.

    Field Name

    Field Type

    Description

    ruleId

    Long

    The data quality rule ID.

    ruleCheckId

    Long

    The auto-increment ID of the validation result.

    feedbackContent

    String

    The feedback content.

    createUser

    String

    The user ID of the person who provided feedback.

    taskid

    String

    The ID of the data quality task.

    beginTime

    String

    The feedback time.

    envType

    String

    The data source type of the table associated with the rule, including the following: ODPS, EMR, HOLO.

    projectName

    String

    The unique identifier of the data source associated with the rule.

    projectId

    Long

    The DataWorks project ID.

    tenantId

    Long

    The DataWorks tenant ID.

  • The following example shows the message entity format (the content of the data field) for a data quality validation completed event.

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "projectId": 9***4,
        "tenantId": 28***656,
        "id": 52177****,
        "taskId": "1671***7a6",
        "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": "Table row count, 1-day difference",
            "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": "Previous day difference",
        "isPrediction": false,
        "feedbackStatus": 0,
        "whetherToFilterDirtyData": false
      }
    }

    The following table describes the fields.

    Field name

    Field Type

    Description

    id

    Long

    The primary key ID of this validation process. Each time a rule validation is triggered, a new primary key ID record is added.

    projectId

    Long

    DataWorks project ID

    tenantId

    Long

    DataWorks tenant ID

    taskId

    String

    The ID of the validation task.

    entityId

    Long

    The partition expression ID.

    ruleId

    Long

    The rule ID.

    property

    String

    The field of the rule property, which is the column name of the data source table being validated.

    bizdate

    Long

    The business date. If the business entity being validated is offline data, the business date is usually the day before the validation operation is performed.

    dateType

    String

    The type of scheduling cycle. Usually YMD, which means yearly, monthly, or daily tasks.

    actualExpression

    String

    The actual partition of the data source table being validated.

    matchExpression

    String

    The partition expression.

    blockType

    Integer

    The strength of the validation rule. Strength indicates the importance of the rule. Valid values:

    • 1: Strong rule.

    • 0: Weak rule.

    You can set important rules as strong rules based on your actual needs. If a strong rule is used and a red alert is triggered, the scheduling task is blocked.

    checkResult

    Integer

    The validation result status. Valid values:

    • -1: Validation exception

    • 0: Validation passed

    • 1: Orange threshold triggered

    • 2: Red threshold triggered

    methodName

    String

    Methods for collecting sample data include the following: 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, etc.

    beginTime

    Long

    The start time of the validation operation.

    endTime

    Long

    The cutoff time for querying validation results.

    timeConsuming

    String

    The time spent executing the validation task.

    externalType

    String

    The type of scheduling system. Currently only CWF2 is supported. If externalType is empty, it indicates a manual test run task.

    externalId

    String

    • When externalType is CWF2, it indicates the node ID of the scheduling task.

    • When externalType is empty, the value is triggerByManual, indicating a manually triggered task.

    discrete

    Boolean

    Indicates whether it is discrete validation. Valid values:

    • true: Discrete validation.

    • false: Non-discrete validation.

    fixedCheck

    Boolean

    Indicates whether it is fixed-value validation. Valid values:

    • true: Fixed-value validation.

    • false: Non-fixed-value validation.

    referenceValue

    Historical sample values.

    bizDate

    Long

    The business date. If the business entity being validated is offline data, the business date is usually the day before the validation operation is performed.

    discreteProperty

    String

    The sampled field value after group by grouping. For example, if grouped by gender field, DiscreteProperty would be male, female, and null.

    value

    Decimal

    The sample value.

    singleCheckResult

    Integer

    The string of the validation result.

    sampleValue

    The current sample used.

    bizDate

    Long

    The business date. If the business entity being validated is offline data, the business date is usually the day before the validation operation is performed.

    value

    Decimal

    The sample value.

    trend

    String

    The trend of the validation result.

    expectValue

    Double

    The expected value.

    op

    String

    The comparison operator.

    projectName

    String

    The name of the engine or data source that requires data quality validation.

    tableName

    String

    The name of the table being validated.

    templateId

    Integer

    The ID of the validation template used.

    checkerType

    Integer

    The type of validator.

    ruleName

    String

    The name of the rule.

    isPrediction

    Boolean

    Indicates whether it is a predicted result. Valid values:

    • true: Predicted result.

    • false: Not a predicted result.

    comment

    String

    The description of the validation rule.

    eventCode

    String

    The extension event code.

Data quality rule pre-operation events (batch create, update, delete)

  • The following example shows the message entity format (the content of the data field) for a batch create data quality rules pre-operation event.

    {
        "datacontenttype": "application/json;charset=utf-8",
        "data": {
          "eventCode": "batch-create-data-quality-rules",
          "projectId": 30***03,
          "tenantId": 28***656,
          "operator": "19***735",
          "operationTime": 1734505954897,
          "dataQualityTaskId": 1001,
          "target": {
            "databaseType": "maxcompute",
            "tableGuid": "odps.project_demo.tb_table_demo"
          },
          "rules": [
            {
              "name": "Table row count greater than 0",
              "enabled": true,
              "severity": "High",
              "description": "Data quality rule creation operation check test",
              "templateCode": "system:table:table_count:fixed:0",
              "samplingConfig": {
                "metric": "count"
              },
              "checkingConfig": {
                "type": "fixed",
                "thresholds": {
                  "expected": {
                    "expression": "$checkValue > 0"
                  },
                  "critical": {
                    "expression": "$checkValue <= 0"
                  }
                }
              }
            }
          ]
        }
    }

    The following table describes the important fields.

    Field Name

    Field type

    Description

    projectId

    List

    DataWorks project ID.

    operator

    String

    The UID of the user who performed the operation.

    operationTime

    Long

    The time of the operation.

    dataQualityTaskId

    Long

    The ID of the data quality monitoring task associated with the rule, which can be empty.

    target

    DataQualityTarget

    The monitored object of the data quality rule.

    databaseType

    String

    For table-type datasets, the database type to which the table belongs.

    • MaxCompute

    • EMR

    • CDH

    • Hologres

    • AnalyticDB for PostgreSQL

    tableGuid

    String

    The unique ID of the table in Data Map.

    rules

    List<DataQualityRule>

    The list of data quality rules.

    name

    String

    The rule name.

    enabled

    Boolean

    Indicates whether the rule is enabled.

    severity

    String

    The level of the rule for business (corresponds to strong or weak rules on the page).

    • High

    • Normal

    description

    String

    The rule description.

    templateCode

    String

    The rule template referenced when creating the rule

    samplingConfig

    SamplingConfig

    The settings required for sample collection.

    metric

    String

    The name of the sampling metric.

    • Count: Table row count

    • Min: Field minimum value

    • Max: Field maximum value

    • Avg: Field mean value

    • DistinctCount: Number of unique field values

    • DistinctPercent: Number of unique field values divided by total data rows

    • DuplicatedCount: Number of duplicate field values

    • DuplicatedPercent: Number of duplicate field values divided by total data rows

    • TableSize: Table size

    • NullValueCount: Number of rows with null field values

    • NullValuePercent: Percentage of null field values

    • GroupCount: Number of rows for each field value after grouping by field value

    • CountNotIn: Number of rows with enumeration values that do not match

    • CountDistinctNotIn: Number of unique enumeration values that do not match

    • UserDefinedSql: Collect samples using custom SQL

    checkingConfig

    CheckingConfig

    The sample validation settings.

    type

    String

    The threshold calculation method

    • Fixed

    • Fluctation

    • FluctationDiscreate

    • Auto

    • Average

    • Variance

    thresholds

    Thresholds

    The threshold settings.

    expected

    Threshold

    The expected threshold settings.

    expression

    String

    The threshold expression.

    critical

    Threshold

    The threshold settings for critical warnings.

  • The following example shows the message entity format (the content of the data field) for a batch update data quality rules pre-operation event.

    {
        "datacontenttype": "application/json;charset=utf-8",
        "data": {
          "eventCode": "update-data-quality-rule",
          "projectId": 30***03,
          "tenantId": 28***656,
          "operator": "19***735",
          "operationTime": 1734505954897,
          "id": 100001,
          "name": "Table row count greater than 0",
          "enabled": true,
          "severity": "High",
          "description": "Data quality rule creation operation check test",
          "templateCode": "system:table:table_count:fixed:0",
          "samplingConfig": {
            "metric": "count"
          },
          "checkingConfig": {
            "type": "fixed",
            "thresholds": {
              "expected": {
                "expression": "$checkValue > 0"
              },
              "critical": {
                "expression": "$checkValue <= 0"
              }
            }
          }
        }
    }

    The following table describes the important fields.

    Field Name

    Type

    Description

    eventCode

    String

    The event code.

    projectId

    Long

    The ID of the project.

    tenantId

    Long

    The tenant ID.

    operator

    String

    The user UID.

    operationTime

    Long

    The time of the operation.

    id

    Long

    The rule ID.

    name

    String

    The rule name.

    enabled

    Boolean

    Indicates whether the rule is enabled.

    true: Enabled.

    false: Disabled.

    severity

    String

    The level of the rule for business (corresponds to strong or weak rules on the page).

    • High

    • Normal

    description

    String

    The rule description.

    templateCode

    String

    The partition settings for partitioned tables.

    samplingConfig

    SamplingConfig

    The settings required for sample collection.

    metric

    String

    The name of the sampling metric.

    • Count: Table row count

    • Min: Field minimum value

    • Max: Field maximum value

    • Avg: Field mean value

    • DistinctCount: Number of unique field values

    • DistinctPercent: Number of unique field values divided by total data rows

    • DuplicatedCount: Number of duplicate field values

    • DuplicatedPercent: Number of duplicate field values divided by total data rows

    • TableSize: Table size

    • NullValueCount: Number of rows with null field values

    • NullValuePercent: Percentage of null field values

    • GroupCount: Number of rows for each field value after grouping by field value

    • CountNotIn: Number of rows with enumeration values that do not match

    • CountDistinctNotIn: Number of unique enumeration values that do not match

    • UserDefinedSql: Collect samples using custom SQL

    checkingConfig

    CheckingConfig

    The sample validation settings.

    type

    String

    The threshold calculation method

    • Fixed

    • Fluctation

    • FluctationDiscreate

    • Auto

    • Average

    • Variance

    thresholds

    Thresholds

    The threshold settings.

    expected

    Threshold

    The expected threshold settings.

    expression

    String

    The threshold expression.

    critical

    Threshold

    The threshold settings for critical warnings.

  • The following example shows the message entity format (the content of the data field) for a batch delete data quality rules pre-operation event.

    {
        "datacontenttype": "application/json;charset=utf-8",
        "data": {
            "eventCode": "batch-delete-data-quality-rules",
            "ids": [
                10***01,
                10***02,
                10***03
            ],
            "projectId": 30***03,
            "tenantId": 524***4736,
            "operator": "19***735",
            "operationTime": 1734505954897
        }
    }

    The following table describes the important fields.

    Field Name

    Field type

    Description

    projectId

    List

    DataWorks project ID.

    operator

    String

    The UID of the user who performed the operation.

    operationTime

    Long

    The time of the operation.

    ids

    List<Long>

    The list of IDs of the data quality rules to be deleted.

    tenantId

    String

    The tenant ID.

    eventCode

    String

    The event code.

  • The following example shows the message entity format (the content of the data field) for an update data quality rule pre-operation event.

    {
        "datacontenttype": "application/json;charset=utf-8",
        "data": {
          "eventCode": "update-data-quality-rule",
          "projectId": 30***03,
          "tenantId": 524***4736,
          "operator": "110***3538",
          "operationTime": 1734505954897,
          "id": 100001,
          "name": "Table row count greater than 0",
          "enabled": true,
          "severity": "High",
          "description": "Data quality rule creation operation check test",
          "templateCode": "system:table:table_count:fixed:0",
          "samplingConfig": {
            "metric": "count"
          },
          "checkingConfig": {
            "type": "fixed",
            "thresholds": {
              "expected": {
                "expression": "$checkValue > 0"
              },
              "critical": {
                "expression": "$checkValue <= 0"
              }
            }
          }
        }
    }

    The following table describes the important fields.

    Field name

    Field Type

    Description

    eventCode

    String

    The event code.

    projectId

    Long

    The project ID.

    tenantId

    Long

    The tenant ID.

    operator

    String

    The user UID.

    operationTime

    Long

    The time of the operation.

    id

    Long

    The rule ID.

    name

    String

    The rule name.

    enabled

    Boolean

    Indicates whether the rule is enabled.

    true: Enabled.

    false: Disabled.

    severity

    String

    The level of the rule for business (corresponds to strong or weak rules on the page).

    • High

    • Normal

    description

    String

    The rule description.

    templateCode

    String

    The partition settings for partitioned tables.

    samplingConfig

    SamplingConfig

    The settings required for sample collection.

    metric

    String

    The name of the sampling metric.

    • Count: Table row count

    • Min: Field minimum value

    • Max: Field maximum value

    • Avg: Field mean value

    • DistinctCount: Number of unique field values

    • DistinctPercent: Number of unique field values divided by total data rows

    • DuplicatedCount: Number of duplicate field values

    • DuplicatedPercent: Number of duplicate field values divided by total data rows

    • TableSize: Table size

    • NullValueCount: Number of rows with null field values

    • NullValuePercent: Percentage of null field values

    • GroupCount: Number of rows for each field value after grouping by field value

    • CountNotIn: Number of rows with enumeration values that do not match

    • CountDistinctNotIn: Number of unique enumeration values that do not match

    • UserDefinedSql: Collect samples using custom SQL

    checkingConfig

    CheckingConfig

    The sample validation settings.

    type

    String

    The threshold calculation method

    • Fixed

    • Fluctation

    • FluctationDiscreate

    • Auto

    • Average

    • Variance

    thresholds

    Thresholds

    The threshold settings.

    expected

    Threshold

    The expected threshold settings.

    expression

    String

    The threshold expression.

    critical

    Threshold

    The threshold settings for critical warnings.

Data quality monitoring pre-operation events (create, update, clone, batch delete)

  • The following example shows the message entity format (the content of the data field) for a create or update data quality monitoring pre-operation event.

    {
        "datacontenttype": "application/json;charset=utf-8",
        "data": {
          "eventCode": "create-data-quality-evaluation-task",
          "name": "Table data accuracy monitoring",
          "description": "After the scheduling instance that writes data to the table runs successfully, trigger monitoring to check whether the output data meets expectations",
          "target": {
            "databaseType": "emr",
            "tableGuid": "an-emr-table-guid"
          },
          "trigger": {
            "type": "ByScheduledTaskInstance",
            "taskIds": [
              1001,
              1002
            ]
          },
          "dataSourceId": 201,
          "runtimeConf": "{ \"queue\": \"default\", \"sqlEngine\": \"HIVE_SQL\" }",
          "rules": [
            {
              "name": "Table row count greater than 0",
              "enabled": true,
              "severity": "High",
              "description": "Data quality rule creation operation check test",
              "templateCode": "system:table:table_count:fixed:0",
              "samplingConfig": {
                "metric": "count"
              },
              "checkingConfig": {
                "type": "fixed",
                "thresholds": {
                  "expected": {
                    "expression": "$checkValue > 0"
                  },
                  "critical": {
                    "expression": "$checkValue <= 0"
                  }
                }
              }
            }, 
            {
              "id": 100002
              "name": "Table row count greater than 100",
              "checkingConfig": {
                "type": "fixed",
                "thresholds": {
                  "expected": {
                    "expression": "$checkValue > 100"
                  },
                  "critical": {
                    "expression": "$checkValue <= 100"
                  }
                }
              }
            }
          ],
          "hooks": [
            {
              "type": "BlockTaskInstance",
              "condition": "(${severity} == \"High\" AND ${status} == \"Critical\") OR (${severity} == \"High\" AND ${status} == \"Error\")"
            }
          ],
          "notifications": {
            "condition": "(${severity} == \"High\" AND ${status} == \"Warned\") OR (${severity} == \"Normal\" AND ${status} == \"Critical\") OR (${severity} == \"Normal\" AND ${status} == \"Warned\") OR (${severity} == \"Normal\" AND ${status} == \"Error\")",
            "notifications": [
              {
                "channels": [
                  "Mail",
                  "Sms"
                ],
                "notificaionReceivers": [
                  {
                    "receiverType": "AliUid",
                    "receiverValues": [
                      "1107550004253538", 
                      "51107550004253538"
                    ]
                  }
                ]
              }, 
              {
                "channels": [
                  "Dingding"
                ],
                "notificaionReceivers": [
                  {
                    "receiverType": "DingdingUrl",
                    "receiverValues": [
                      "https://api.dingding.com/message-boxes/b1/messages",
                      "https://api.dingding.com/message-boxes/b2/messages"
                    ],
                    "extension": "{ \"atAll\": true }"
                  }
                ]
              }
            ]
          },
          "projectId": 30***03,
          "tenantId": 524***4736,
          "operator": "110***3538",
          "operationTime": 1734505954897
        }
    }

    The following table describes the important fields.

    Field name

    Field type

    Description

    eventCode

    String

    The event code.

    name

    String

    The name of the quality monitoring task.

    description

    String

    The description of the data quality validation task.

    target

    DataQualityTarget

    The monitored object of the data quality validation task.

    databaseType

    String

    For table-type datasets, the database type to which the table belongs.

    • MaxCompute

    • EMR

    • CDH

    • Hologres

    • AnalyticDB for PostgreSQL

    tableGuid

    String

    The unique ID of the table in Data Map.

    trigger

    DataQualityEvaluationTaskTrigger

    The trigger configuration for the data quality validation task.

    type

    String

    The event that can trigger the execution of the quality validation task.

    • ByScheduledTaskInstance: The scheduling instance runs successfully. Only supported in public cloud scenarios.

    • ByManual: Manually triggered.

    taskIds

    Array<Long>

    Valid when type=ByScheduledTaskInstance. Specifies which scheduling node instances trigger the monitoring after successful execution.

    dataSourceId

    Long

    The data source used when the data quality validation task runs.

    runtimeConf

    String

    The settings for using the data source. Currently supports specifying the EMR YARN queue and setting the SQL engine to SPARK-SQL when collecting EMR table data.

    rules

    List<DataQualityRule>

    The list of data quality rules. For more parameter details, see Data quality rule pre-operation event parameters.

    hooks

    Array<DataQualityEvaluationTaskHook>

    The callback settings during the lifecycle of the data quality validation task instance. Currently supports only one hook that blocks scheduling task instances.

    type

    String

    The type of subsequent action.

    BlockTaskInstance: Block DataWorks task instance execution.

    condition

    String

    The condition that triggers the hook.

    notifications

    Array<Notification>

    The specific message notification settings.

    projectId

    Long

    Project ID

    tenantId

    Long

    The tenant ID.

    operator

    String

    The UID of the user who performed the operation.

    operationTime

    Long

    The time of the operation.

  • The following example shows the message entity format (the content of the data field) for a clone data quality monitoring pre-operation event.

    {
        "datacontenttype": "application/json;charset=utf-8",
        "data": {
          "eventCode": "clone-data-quality-evaluation-task",
          "id": 10001,
          "targets": [
            {
              "databaseType": "emr",
              "tableGuid": "an-emr-table-guid"
            },
            {
              "databaseType": "emr",
              "tableGuid": "another-emr-table-guid"
            }
          ],
          "projectId": 9***4,
          "tenantId": 28***656,
          "operator": "19***735",
          "operationTime": 1734505954897
        }
    }

    The following table describes the important fields.

    Field Name

    Field type

    Description

    projectId

    Long

    DataWorks project ID.

    tenantId

    String

    The tenant ID.

    operator

    String

    The UID of the user who performed the operation.

    operationTime

    Long

    The time of the operation.

    targets

    List<DataQualityTarget>

    The target data quality monitoring objects to clone to.

    databaseType

    String

    For table-type datasets, the database type to which the table belongs.

    • MaxCompute

    • EMR

    • CDH

    • Hologres

    • AnalyticDB for PostgreSQL

    tableGuid

    String

    The unique ID of the table in Data Map.

    id

    Long

    The ID of the source data quality monitoring task used for cloning.

    eventCode

    String

    The event code.

  • The following example shows the message entity format (the content of the data field) for a batch delete data quality monitoring pre-operation event.

    {
        "datacontenttype": "application/json;charset=utf-8",
        "data": {
          "eventCode": "batch-delete-data-quality-evaluation-tasks",
          "ids": [
            10001,
            10002
          ],
          "projectId": 9***4,
          "tenantId": 28***656,
          "operator": "19***735",
          "operationTime": 1734505954897
        }
    }

    The following table describes the important fields.

    Field name

    Field type

    Description

    projectId

    Long

    DataWorks project ID.

    operator

    String

    The UID of the user who performed the operation.

    operationTime

    Long

    The time of the operation.

    ids

    List<Long>

    The list of IDs of the data quality monitoring tasks to be deleted.

    tenantId

    String

    The tenant ID.

    eventCode

    String

    The event code.

Data quality monitoring alert subscription pre-operation events (create, update, delete)

  • The following example shows the message entity format (the content of the data field) for a create or delete data quality monitoring alert subscription pre-operation event.

    {
        "datacontenttype": "application/json;charset=utf-8",
        "data": {
          "eventCode": "create-data-quality-evaluation-task-notification",
          "dataQualityEvaluationTaskId": 10001,
          "channel": "sms",
          "receiverValue": "1107***38",
          "projectId": 30***03,
          "operator": "110***3538",
          "operationTime": 1734505954897
        }
    }

    The following table describes the important fields.

    Field Name

    Field Type

    Description

    projectId

    Long

    DataWorks project ID.

    operator

    String

    The UID of the user who performed the operation.

    operationTime

    Long

    The time of the operation.

    dataQualityEvaluationTaskId

    Long

    The data quality monitoring ID.

    channel

    String

    The channel type for sending subscription messages.

    • Mail - Email

    • Sms - Text message

    • Phone

    • Feishu - Lark

    • Weixin - WeChat

    • Dingding - DingTalk

    • Webhook - Custom Webhook

    receiverValue

    String

    The specific target for sending subscription messages.

    eventCode

    String

    The event code.

  • The following example shows the message entity format (the content of the data field) for an update data quality monitoring alert subscription pre-operation event.

    {
        "datacontenttype": "application/json;charset=utf-8",
        "data": {
          "eventCode": "update-data-quality-evaluation-task-notification",
          "dataQualityEvaluationTaskId": 10001,
          "currentChannel": "sms",
          "currentReceiverValue": "1107***538",
          "updatedChannel": "sms",
          "updatedReceiverValue": "1107***538",
          "projectId": 30***03,
          "operator": "110***3538",
          "operationTime": 1734505954897
        
    }

    The following table describes the important fields.

    Field name

    Field type

    Description

    projectId

    Long

    DataWorks project ID.

    operator

    String

    The UID of the user who performed the operation.

    operationTime

    Long

    The time of the operation.

    dataQualityEvaluationTaskId

    Long

    The data quality monitoring ID.

    currentChannel

    String

    The channel type for sending the subscription message being updated.

    • Mail - Email

    • Sms - Text message

    • Phone

    • Feishu - Lark

    • Weixin - WeChat

    • Dingding - DingTalk

    • Webhook - Custom Webhook

    currentReceiverValue

    String

    The specific target for sending the subscription message being updated.

    updatedChannel

    String

    The updated channel type for sending subscription messages.

    • Mail - Email

    • Sms - Text message

    • Phone

    • Feishu - Lark

    • Weixin - WeChat

    • Dingding - DingTalk

    • Webhook - Custom Webhook

    updatedReceiverValue

    String

    The updated specific target for sending subscription messages.

    eventCode

    String

    The event code.

Tenant-level events

Tenant-level modules generate tenant-level events, such as event messages generated when a workspace is deleted in the management console. The following Event list shows which events are regular events and which are extension point events for each module, along with the message format for each event.

The following Message format tabs show only partial content. For the complete message sent to EventBridge or Function Compute, see Appendix: Message format.

Management console event list

Event list

Event type

Event (and triggering operation)

Regular event

Extension point event

EventBridge event type (Type)

Extension event type (eventCode)

Delete project space

Delete a prerequisite event for a project

image

image

dataworks:ProjectChange:DeleteProject

delete-project

Delete trailing spaces.

image

image

dataworks:ProjectChange:ProjectDeleted

project-deleted

Message format

Message entity format: Delete project space event

  • The following example shows the message entity format (the content of the data field) for a tenant pre-delete project event.

    {
     
      "data": {
        "eventCode": "delete-project",
        "projectId": 7***7, // Workspace ID
        "tenantId": 2807****0784, // Tenant ID
        "operator": "19***735
    }

    The following table describes the fields:

    Field Name

    Type

    Description

    operator

    String

    Remove a user from a DataWorks workspace.

    projectId

    Long

    The ID of the DataWorks workspace to be deleted.

    tenantId

    Long

    The tenant ID of the workspace to be deleted.

    eventCode

    String

    The extension event code.

  • The following example shows the message entity format (the content of the data field) for a tenant post-delete project event.

    {
        
        "data": {
            "eventCode": "project-deleted",
            "tenantId": 28***656,
            "blockBusiness": false,
            "projectName": "test2",
            "projectId": 9***4,
            "operator": "19***735",
            "timestamp": 1702260556896
       } 
    }

    The following table describes the fields.

    Field Name

    Type

    Description

    operator

    String

    Remove a user from the DataWorks workspace.

    projectId

    Long

    The ID of the DataWorks workspace to be deleted.

    projectName

    String

    The name of the DataWorks workspace to be deleted.

    tenantId

    Long

    The tenant ID of the workspace to be deleted.

    timestamp

    Long

    The timestamp when the message was sent.

    eventCode

    String

    The extension event code.

Upload and download event list

Event list

Event type

Event (and triggering operation)

Regular event

Extension point event

EventBridge event type (Type)

Extension event type (eventCode)

Data upload and download

Pre-data download event - File generation

image

image

dataworks:ResourcesDownload:DownloadResources

download-resources

Pre-data download event - File download

image

image

dataworks:ResourcesDownload:DownloadResourcesExecute

download-resources-execute

Pre-data upload event

image

image

dataworks:ResourcesUpload:UploadDataToTable

upload-data-to-table

Message format

Data upload and download

  • The following example shows the message entity format (the content of the data field) for a pre-data download event - File generation.

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

    The following table describes the fields.

    Field Name

    Field Type

    Description

    moduleType

    String

    The source of the downloaded data:

    • entity_transfer: Data downloaded from Security Center > Security Policy > Entity Transfer > Transfer Logs.

    • develop_query: Data queried and downloaded using SQL statements in Data Studio.

    • sqlx_query: Data queried and downloaded using SQL statements in DataAnalysis > SQL Query.

    • dw_excel: Data downloaded from DataAnalysis > Workbook.

    operatorBaseId

    String

    The BaseID of the user who performed the download operation.

    operatorUid

    String

    The UID of the user who performed the download operation.

    fileName

    String

    The name of the downloaded file.

    fileSize

    Long

    The size of the downloaded file.

    datasourceId

    String

    The ID of the data source to which the downloaded data belongs.

    datasourceName

    String

    The name of the data source to which the downloaded data belongs.

    queryDwProjectId

    String

    The ID of the DataWorks workspace to which the downloaded data belongs.

    queryDwProjectName

    String

    The identifier of the DataWorks workspace to which the downloaded data belongs.

    dataRowSize

    Long

    The number of rows of the downloaded data.

    sqlText

    String

    When data is queried and downloaded using SQL statements, this field contains the SQL code used.

    eventCode

    String

    The extension event type.

  • The following example shows the message entity format (the content of the data field) for a pre-data download event - File download.

    {
      "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": "File name.csv",
        "fileSize": 10241024,
        "datasourceId": "1111",
        "datasourceName": "odps_first",
        "queryDwProjectId": "9***4",
        "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"
    }

    The following table describes the important fields.

    Field Name

    Type

    Description

    moduleType

    String

    The source of the downloaded data:

    • entity_transfer: Data downloaded from Security Center > Security Policy > Entity Transfer > Transfer Logs.

    • develop_query: Data queried and downloaded using SQL statements in Data Studio.

    • sqlx_query: Data queried and downloaded using SQL statements in DataAnalysis > SQL Query.

    • dw_excel: Data downloaded from DataAnalysis > Workbook.

    operatorBaseId

    String

    The BaseID of the user who performed the download operation.

    operatorUid

    String

    The UID of the user who performed the download operation.

    fileName

    String

    The name of the downloaded file.

    fileSize

    Long

    The size of the downloaded file.

    datasourceId

    String

    The ID of the data source to which the downloaded data belongs.

    datasourceName

    String

    The name of the data source to which the downloaded data belongs.

    queryDwProjectId

    String

    The ID of the DataWorks workspace to which the downloaded data belongs.

    queryDwProjectName

    String

    The identifier of the DataWorks workspace to which the downloaded data belongs.

    dataRowSize

    Long

    The number of rows of the downloaded data.

    sqlText

    String

    You can use the following SQL code to query and download data.

    ip

    String

    The IP address of the user who performed the download operation.

    eventCode

    String

    The extension event type.

  • The following example shows the message entity format (the content of the data field) for a pre-data upload event.

    {
      "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": "9***4",
        "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"
    }

    The following table describes the fields.

    Field Name

    Field Type

    Description

    uploadSourceType

    String

    The source of the uploaded data:

    • LOCAL: Upload data from a local file.

    • OSS: Upload data from an OSS file.

    • DW_EXCEL: Upload data from a DataWorks DataAnalysis > Workbook.

    • HTTP: Upload data from an HTTP file.

    optTableType

    String

    Specifies whether to upload data to an existing table or a new table in the specified engine data source. Valid values:

    • CREATE: Upload data to a new table.

    • IMPORT: Upload data to an existing table.

    targetEngineType

    String

    The type of engine to which data is uploaded. Valid values:

    • MaxCompute

    • EMR Hive

    • Hologres

    writeType

    String

    The method for writing data to the destination table. Valid values:

    • OVERWRITE: Overwrite the existing data in the table.

    • APPEND: Append the uploaded data to the destination table.

    conflictMode

    String

    The primary key conflict resolution policy for the destination table when uploading data:

    • IGNORE: If a primary key conflict exists, ignore the uploaded data.

    • REPLACE: If a primary key conflict exists, delete the row with the conflicting data and then insert the uploaded data. Fields not specified in the uploaded data will be written as NULL.

    • UPDATE: The uploaded data overwrites the original table data. Only the fields specified in the uploaded data are overwritten. Data in unspecified fields remains unchanged.

    operatorBaseId

    String

    The BaseID of the user who performed the upload operation.

    operatorUid

    String

    The UID of the user who performed the upload operation.

    datasourceId

    String

    The ID of the data source to which the data is uploaded.

    datasourceName

    String

    The name of the data source to which the data is uploaded.

    tableGuid

    String

    The Guid of the table. Examples:

    • MaxCompute: odps.maxcomputeProject.tableName.

    • EMR_Hive: emr_hive.emrClusterId.schema.tableName.

    • Holo: holo.hologresInstanceId.database.

    queryDwProjectId

    String

    The ID of the DataWorks workspace to which the table belongs.

    queryDwProjectName

    String

    The name of the DataWorks workspace to which the table belongs.

    fileSize

    Long

    The size of the uploaded file in bytes.

    eventCode

    String

    The extension event code.

Appendix: Message format

Message format for messages sent to EventBridge

After you configure OpenEvent and add an event distribution channel, if a workspace-level or tenant-level event is triggered in DataWorks, the messages are filtered based on the event type (Type) that you configured in EventBridge. The following shows the message format that DataWorks uses to send messages to EventBridge through the event distribution channel.

{ 
 "datacontenttype": "application/json;charset=utf-8",// The content format of the data parameter. datacontenttype only supports application/json.
  "data": {
 // The message content varies with the message type. The following are two fixed fields in the message. For specific event messages, see the preceding sections.
 "tenantId": 28378****10656,// The tenant ID. Each Alibaba Cloud account corresponds to a DataWorks tenant, and each tenant has its own tenant ID. You can view this value in the user information in the upper-right corner of Data Studio.
 "eventCode": "xxxx"//
  },
  "id": "539fd8f4-4ea1-4625-aa8b-6c906674****",// The event ID. A unique value that identifies the event.
  "source": "acs.dataworks",// The event source. The service that provides the event, indicating that this message is pushed by DataWorks.
  "specversion": "1.0",
  "subject": "",
  "time": "2020-11-19T21:04:41+08:00",// The time when the event occurred.
  "type": "dataworks:InstanceStatusChanges:InstanceStatusChanges",// The event type. This event type can be used to filter all messages pushed by DataWorks in the EventBridge console. The Type value varies for each event. See the preceding sections for different event message types.
  "aliyunaccountid": "123456789098****",// The Alibaba Cloud account ID.
  "aliyunpublishtime": "2020-11-19T21:04:42.179PRC",// The time when EventBridge received the event.
  "aliyuneventbusname": "default",// The name of the EventBridge event bus used to receive DataWorks event messages.
  "aliyunregionid": "cn-hangzhou",// The region where the event is received.
  "aliyunpublishaddr": "172.25.XX.XX"
}

A complete event message includes the message entity format and basic information such as the message ID, source, and creation time. The following table describes the important fields.

Field Name

Type

Description

data

object

The message entity format. The message format and its fields vary for different event types. For more information, see:

Data Studio event message format: Data Studio event list.

Data integration event message format: Data integration event list.

Operation Center event message format: Operation Center event list.

Security Center event message format: Security Center event list.

Data Quality event message format: Data Quality event list.

id

String

The unique ID of the event message. Used to locate the event message.

type

String

The event type. Describes the event type related to the event source. Examples:

  • dataworks:FileChange:CommitFile: Indicates committing a file.

  • dataworks:FileChange:DeployFile: Indicates publishing a file.

This event type can be used to filter all messages pushed by DataWorks in the EventBridge console. The Type value varies for each event. See the preceding sections for different event message types.

Message format for messages sent to Function Compute

When you configure Extensions in DataWorks using the Function Compute method, DataWorks sends messages for triggered extension point events to Function Compute in JSON format. The following shows the message format sent to Function Compute.

{
	"blockBusiness": true,
	"eventCategoryType": "resources-download",// Event category
	"eventType": "upload-data-to-table",// Event type
	"extensionBizId": "job_6603***070",
	"messageBody": {
             // The message content varies with the message type. The following are two fixed fields in the message. For specific event messages, see the preceding sections.
             "tenantId": 28378****10656,// The tenant ID. Each Alibaba Cloud account corresponds to a DataWorks tenant, and each tenant has its own tenant ID. You can view this value in the user information in the upper-right corner of Data Studio.
             "eventCode": "xxxx"//
	},
	"messageId": "52d44ee7-b51f-4d4d-afeb-*******"// The event ID. A unique value that identifies the event.
}

The key fields are described as follows:

Field Name

Field Type

Description

messageId

String

The event ID. A unique value that identifies the event.

messageBody

The specific event message pushed by DataWorks. You can use this when developing extensions. The content varies with the message type.

tenantId

The tenant ID. Each Alibaba Cloud account corresponds to a DataWorks tenant, and each tenant has its own tenant ID. You can view this value in the user information in the upper-right corner of Data Studio.

eventCode

The event code. Used to identify a specific type of event message. For the eventCode corresponding to each event type, see the Extension event type (eventCode) column in the Development reference: Event list and message format table.