All Products
Search
Document Center

DataWorks:Development reference: Event list and message format

Last Updated:Jul 02, 2026

This topic describes DataWorks event types, message formats, and field meanings. Use this document to quickly find and query information about event lists and message formats.

Introduction

In DataWorks, events are classified as standard events or extension point events based on whether they can create a checkpoint within DataWorks and whether they can return processing results after being subscribed to by a self-managed service.

  • Standard events: You can subscribe to these event messages, but they cannot block operations inside DataWorks. Subscribe to these events using OpenEvent. For more information, see OpenEvent.

  • Extension point events: After subscribing to these event messages, you can customize the response to event messages using the Extensions feature in the DataWorks Open Platform. When you use Extensions to manage operations at an extension point, the operation performed by the DataWorks platform user at that extension point is interrupted until your custom extension returns a processing result.

This list categorizes supported events by module and indicates whether each event is a standard event or an extension point event. It also lists the EventBridge event type (Type) and the extension event code (eventCode).

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

  • Extension event code (eventCode): The event code corresponding to the event type. During local development, obtain this code from the message content sent by DataWorks to identify the target event type.

Workspace-level events

Events generated by workspace-level modules are workspace-level events, such as events from node runs in Data Studio or scheduled instance status changes in Operation Center. Use the event list below to identify which events are standard events and which are extension point events, along with their message formats.

The following message format tabs contain partial content only. For complete messages sent to EventBridge or Function Compute, refer to Appendix: Message Format.

Data Studio event list

Event list

Event type

Event (and triggering operation)

Standard event

Extension point event

EventBridge event type (Type)

Extension event code (eventCode)

Node change

Create node

  • Deploy a new node to production

image

image

dataworks:NodeChange:NodeChangeCreated

node-change-created

Update node

  • Modify a node in the development environment

  • Deploy the modification to production

image

image

dataworks:NodeChange:NodeChangeUpdated

node-change-updated

File change

  • Node

  • Resource

  • Function

Pre-event for file deletion

Delete a node in the development environment

Note

Deleted files are moved to the recycle bin.

image

image

dataworks:FileChange:DeleteFile

delete-file

Pre-event for file submission

image

image

dataworks:FileChange:CommitFile

commit-file

Pre-event for file deployment

image

image

dataworks:FileChange:DeployFile

deploy-file

Pre-event for code execution

image

image

dataworks:FileChange:RunFile

run-file

Table change

Pre-event for submitting a table to development

image

image

dataworks:TableChange:CommitTable

commit-table

Pre-event for submitting a table to production

image

image

dataworks:TableChange:DeployTable

deploy-table

Message format

Node change events (create and update)

The following example shows the message body format (the content of the data field in the event message) for node creation, modification, 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", //Operator of this action
    "eventCode": "node-change-created",
    "repeatability": true,
    "modifyTime": 17***864,
    "createTime": 17***864,
    "tenantId": 28***656,
    "nodeId": 70***003,
    "projectId": 9***4
  }
}

The fields are described as follows:

Field

Type

Description

nodeName

String

The node name.

programType

String

The code type of the file. You can call the ListFileType operation to query the code type of the file, or refer to File code types to view file code types.

cronExpress

String

The cron expression for periodic scheduling.

This parameter corresponds to the of a Data Studio task in the DataWorks console.

After you configure the schedule and scheduled time, DataWorks automatically generates the corresponding cron expression. Examples:

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

  • Scheduled at the 15th minute of every hour: 00 15 * * * ?

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

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

  • Scheduled at 00:20 on the 1st of every month: 00 20 00 1 * ?

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

  • Scheduled at 00:05 every Tuesday and Friday: 00 05 00 * * 2,5

Note

The cron expression has the following limits:

  • The minimum scheduling interval is 5 minutes.

  • The earliest scheduling time each day is 00:05.

schedulerType

String

The scheduling type of the task instance. Valid values:

  • 0: NORMAL. A normal scheduled task. The task is included in periodic scheduling.

  • 1: MANUAL. A manual task. The task is not included in periodic scheduling.

  • 2: PAUSE. A frozen task. The task is included in periodic scheduling, but is set to the failed state when scheduling starts.

  • 3: SKIP. A dry-run task. The task is included in periodic scheduling, but is set to the succeeded state when scheduling starts.

  • 4: SKIP_UNCHOOSE. A task that is not selected in a temporary workflow. This type exists only in temporary workflows, and the task is set to the succeeded state when scheduling starts.

  • 5: SKIP_CYCLE. A weekly or monthly task whose scheduling cycle has not arrived. The task is included in periodic scheduling, but is set to the succeeded state when scheduling starts.

  • 6: CONDITION_UNCHOOSE. The upstream instance contains a branch (IF) node, but this downstream node is not selected by the branch node, and is directly set to a dry-run task.

  • 7: REALTIME_DEPRECATED. A scheduled instance generated in real time that has expired. This type of task is directly set to the succeeded state.

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: 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 rerun:

  • true: The node can be rerun.

  • false: The node cannot be rerun.

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 workspace to which the node belongs.

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 (submit, deploy, run, and delete)

  • The following example shows the message body format (the content of the data field in the event message) for file submission and deployment 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 fields are described as follows:

    Field

    Type

    Description

    operator

    String

    The UID of the user who submitted or deployed the file.

    projectId

    Long

    The ID of the workspace 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 refer to File code types to view file code types.

    fileName

    String

    The file name.

    fileOwner

    String

    The file owner.

    extensionBizId

    String

    The ID of the extension checkpoint process.

    changeType

    String

    The change type of the file:

    • 0: Create a file.

    • 1: Update a file.

    • 2: Delete a file.

    fileCreateTime

    String

    The time when the file was created, in the format of 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 body format (the content of the data field in the event message) for file deletion and execution 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 fields are described as follows:

    Field

    Type

    Description

    operator

    String

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

    projectId

    Long

    The ID of the workspace 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 file code types, or refer to File code types for details.

    fileName

    String

    The file name.

    fileOwner

    String

    The file owner.

    extensionBizId

    String

    The Extensions checkpoint process ID.

    fileCreateTime

    String

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

    fileId

    Long

    The file ID.

    eventCode

    String

    The Extensions event code.

Table change events (submit a table to the development environment or deploy a table to the 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

Type

Description

operator

String

The UID of the user who submitted or deployed the table.

projectId

Long

The workspace ID.

tenantId

Long

The tenant ID.

extensionBizId

String

The Extensions checkpoint process ID.

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)

Standard event

Extension point event

EventBridge event type

(Type)

Extension event code (eventCode)

Node change event

Start a task

image

image

dataworks:NodeChange:StartDiJob

start-diJob

Batch start tasks

image

image

dataworks:NodeChange:BatchStartDiJob

batch-start-diJob

Message format

Node change event- Start a task

The following example shows the message body format of the node change event - start a task event (the content of the data field in the event message).

## message v1 task started with no more than 500 tables
{
    "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 task started with no more than 500 tables
{
    "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 task started with more than 500 tables, "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"
        }
    }
}

##Regex
{
    "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

Type

Description

projectId

Long

The DataWorks workspace ID.

operator

String

The UID of the operator.

extensionBizName

String

The solution name.

showTableMapping

Boolean

Indicates whether table mapping information is returned.

  • true: Returned.

  • false: Not returned.

If the number of tables exceeds 500, showTableMapping defaults to false.

tableMapping

JSONArray

The table mapping.

srcDatasourceName

String

The name of the source data source.

srcDatabaseName

String

The name of the source database.

srcTable

String

The name of the source table.

dstDatasourceName

String

The name of the destination data source.

dstTable

String

The name of the destination table.

tenantId

Long

The tenant ID.

eventCode

String

The Extensions event code.

Node change event- Batch start tasks

The following example shows the message body format of the node change event - batch start tasks event (the content of the data field in the event message).

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

Type

Description

projectId

Long

The DataWorks workspace ID.

operator

String

The UID of the operator.

extensionBizName

String

The solution name.

setting

JSONObject

The startup configuration.

startDateTime

String

The start time.

timeZone

String

The start time zone.

tableMapping

JSONArray

The table mapping.

srcDatasourceName

String

The name of the source data source.

srcDatabaseName

String

The name of the source database.

srcTable

String

The name of the source table.

dstDatasourceName

String

The name of the destination data source.

dstTable

String

The name of the destination table.

showTableMapping

Boolean

Indicates whether table mapping information is returned.

  • true: Returned.

  • false: Not returned.

If the number of tables exceeds 500, showTableMapping defaults to false.

tenantId

Long

The tenant ID.

eventCode

String

The Extensions event code.

Operation Center event list

Event list

Important

Modifying the scheduling resource group or changing the owner triggers node-change-updated.

Event type

Event (and triggering operation)

Standard event

Extension point event

EventBridge event type

(Type)

Extension event code (eventCode)

Node change

Delete a node

  • Deploy the delete operation to undeploy the production node

  • Delete a node from the recycle bin

image

image

dataworks:NodeChange:NodeChangeDeleted

node-change-deleted

Pre-event for node undeploy

Directly undeploy a node from the scheduled tasks 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-event for node freeze

Important

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

image

image

dataworks:NodeChange:FreezeNode

freeze-node

Pre-event for node unfreeze

Important

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

image

image

dataworks:NodeChange:UnFreezeNode

unfreeze-node

Node backfill data

Pre-event for backfill data

image

image

dataworks:BackfillDataOperate:BackfillData

backfill-data

Task status change

Scheduled task status change

image

image

dataworks:InstanceStatusChanges:InstanceStatusChanges

instance-status-changes

Instance changes

Freeze instance

image

image

dataworks:InstanceChange:FreezeInstance

freeze-instance

Unfreeze instance

image

image

dataworks:InstanceChange:UnfreezeInstance

unfreeze-instance

Terminate 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 dependencies of an instance

image

image

dataworks:InstanceChange:DeleteTaskInstanceDependencies

delete-task-instance-dependencies

Pre-event for freezing an instance

image

image

dataworks:InstanceChange:PreFreezeInstance

pre-freeze-instance

Pre-event for unfreezing an instance

image

image

dataworks:InstanceChange:PreUnfreezeInstance

pre-unfreeze-instance

Pre-event for rerunning an instance

image

image

dataworks:InstanceChange:PreRerunInstance

pre-rerun-instance

Pre-event for setting an instance to successful

image

image

dataworks:InstanceChange:PreSetInstanceSuccess

pre-set-instance-success

Pre-event for terminating an instance

image

image

dataworks:InstanceChange:PreKillInstance

pre-kill-instance

Delete expired instances

image

image

dataworks:InstanceChange:ExpiredTaskInstancesDeleted

expired-task-instances-deleted

Workflow status changes

Workflow status changes

  • Backfill data instances

  • Manual workflows

image

image

dataworks:DagStatusChanges:DagStatusChanges

dag-status-changes

Monitoring alerts

Monitoring alerts

image

image

dataworks:MonitorAlert:WorkbenchMonitorAlert

workbench-monitor-alert

Message format

Node change events (delete, undeploy, freeze, and unfreeze)

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

    {
      "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"  //Operator of this action
      }
    }

    The following table describes the fields:

    Field

    Type

    Description

    nodeName

    String

    The node name.

    programType

    String

    The code type of the file. You can call the ListFileType operation to query the code type of a file, or refer to File code types for the code types.

    cronExpress

    String

    The cron expression for periodic scheduling.

    This parameter corresponds to the of a Data Studio task in the DataWorks console.

    After you configure the schedule and scheduled time, DataWorks automatically generates the corresponding cron expression. Examples:

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

    • Scheduled at the 15th minute of every hour: 00 15 * * * ?

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

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

    • Scheduled at 00:20 on the 1st of every month: 00 20 00 1 * ?

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

    • Scheduled at 00:05 every Tuesday and Friday: 00 05 00 * * 2,5

    Note

    The cron expression has the following limits:

    • The minimum scheduling interval is 5 minutes.

    • The earliest scheduling time each day is 00:05.

    schedulerType

    String

    The scheduling type of the task instance. Valid values:

    • 0: NORMAL. The task is a normal scheduled task that is triggered by periodic scheduling.

    • 1: MANUAL. The task is a manual task that is not triggered by periodic scheduling.

    • 2: PAUSE. The task is a frozen task. The task is triggered by periodic scheduling, but it is set to failed upon scheduling.

    • 3: SKIP. The task is a dry-run task. The task is triggered by periodic scheduling, but it is set to successful upon scheduling.

    • 4: SKIP_UNCHOOSE. The task is an unselected task in a temporary workflow. It exists only in a temporary workflow and is set to successful upon scheduling.

    • 5: SKIP_CYCLE. The task is a weekly or monthly task that has not reached its run cycle. The task is triggered by periodic scheduling, but it is set to successful upon scheduling.

    • 6: CONDITION_UNCHOOSE. An upstream instance contains a branch (IF) node, and the downstream node is not selected by the branch node. The task is directly set to dry run.

    • 7: REALTIME_DEPRECATED. The scheduled instance is generated in real time and has expired. The task is directly 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: 1, 3, 5, 7, and 8. A larger value indicates a higher priority.

    baselineId

    Long

    The baseline ID.

    repeatability

    Boolean

    Specifies whether the node can be rerun:

    • true: The node can be rerun.

    • false: The node cannot be rerun.

    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 workspace to which the node belongs.

    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 body format of node freeze, unfreeze, and undeploy events (the content of the data field in the event message).

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

    Type

    Description

    operator

    String

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

    projectId

    Long

    The ID of the workspace to which the node belongs.

    tenantId

    Long

    The tenant ID.

    nodeIds

    Array

    The list of node IDs that were operated on.

    extensionBizId

    String

    The ID of the Extensions checkpoint process.

Backfill data for nodes

The following example shows the message body format of a backfill data event (the content of the data field in the event message).

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

Type

Description

name

String

The name of the backfill data workflow.

rootNodeId

Long

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

rootNodeProjectId

Long

The ID of the workspace to which the root node of the backfill data workflow belongs.

includeNodeIds

Array

The list of node IDs included in the backfill data operation.

excludeNodeIds

Array

The list of node IDs excluded from the backfill data operation. Nodes in this list generate dry-run instances, which are set to successful upon scheduling without executing 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. Valid values: 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. Valid values: 00:00:00 to 23:59:59.

isParallel

Boolean

Specifies whether the backfill data operation can run in parallel:

  • true: The operation can run in parallel.

  • false: The operation cannot run in parallel.

parallelGroup

Integer

The number of parallel groups. A value of 1 indicates no grouping.

startFutureInstanceImmediately

Boolean

Specifies whether to skip the scheduled time and immediately run instances with future business dates:

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

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

order

String

The order in which backfill data instances are run based on business dates:

  • acs: Run in ascending order of business dates.

  • desc: Run in descending order of business dates.

multipleTimePeriods

String

The business date ranges selected in segments. Example: [{\"bizBeginTime\":\"2022-04-17\",\"bizEndTime\":\"2022-04-17\"}].

tenantId

Long

The tenant ID.

projectId

Long

The ID of the project in which the backfill data operation is performed.

operator

String

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

extensionBizId

String

The Extensions checkpoint process ID.

eventCode

String

The Extensions event code.

Task status change event

The following example shows the message body format (the content of the data field in the event message) of the scheduled 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

Type

Description

finishTime

Long

The time when the scheduled task instance finished running.

beginWaitTimeTime

Long

The time when the scheduled task instance started waiting to run.

beginRunningTime

Long

The time when the scheduled task instance started running.

dagId

Long

You can use DagId to obtain DAG details.

dagType

Integer

The DAG type. Valid values:

  • 0: Scheduled task

  • 1: Manual task

  • 2: Smoke testing

  • 3: Backfill data

  • 4: Temporary workflow

  • 5: Manual workflow

taskType

Integer

The scheduling type of the task instance. Valid values:

  • 0: NORMAL. A normal scheduled task. This task is scheduled on a daily basis.

  • 1: MANUAL. A manual task. This task is not scheduled on a daily basis.

  • 2: PAUSE. A frozen task. This task is scheduled on a daily basis, but is set to a failed state immediately when scheduling starts.

  • 3: SKIP. A dry run task. This task is scheduled on a daily basis, but is set to a succeeded state immediately when scheduling starts.

  • 4: SKIP_UNCHOOSE. A task that is not selected in a temporary workflow. This task exists only in temporary workflows and is set to a succeeded state immediately when scheduling starts.

  • 5: SKIP_CYCLE. A weekly or monthly task that has not reached its run cycle. This task is scheduled on a daily basis, but is set to a succeeded state immediately when scheduling starts.

  • 6: CONDITION_UNCHOOSE. An upstream instance contains a branch (IF) node, but this downstream node is not selected by the branch node and is directly set to a dry run task.

  • 7: REALTIME_DEPRECATED. A scheduled instance generated in real time that has expired. This type of task is directly set to a succeeded state.

modifyTime

Long

The most recent modification time of the task instance.

createTime

Long

The creation time of the task instance.

appId

Long

The workspace ID. You can call the ListProjects operation to query workspace ID information.

tenantId

Long

The tenant ID of the workspace to which the scheduled task instance belongs.

opCode

Integer

The operation code of the scheduled task instance. You can ignore this field.

flowId

Long

The workflow ID.

  • Scheduled task instance: The workflow ID defaults to 1.

  • Manual workflow and internal workflow task instance: The actual workflow ID.

nodeId

Long

The node ID corresponding to the scheduled task instance.

beginWaitResTime

Long

The time when the scheduled task instance started waiting for resources.

taskId

Long

The ID of the scheduled task instance.

status

Integer

The task status. Valid values:

  • 1: Not running.

  • 2: Waiting for the scheduled time dueTime or cycleTime to arrive.

  • 3: Waiting for resources.

  • 4: Running.

  • 7: Sent to Data Quality for data verification.

  • 8: Performing branch condition verification.

  • 5: Failed.

  • 6: Succeeded.

eventCode

String

The Extensions event code.

Instance change event (freeze, unfreeze, terminate, rerun, set to succeeded)

The following example shows the message body format (the content of the data field in the event message) of the 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

Type

Description

operator

String

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

projectType

String

The running environment.

  • PROD: Production environment.

  • DEV: Development environment.

taskIds

List

The list of instance IDs.

projectId

Long

The DataWorks workspace ID.

tenantId

Long

The tenant ID of the workspace to which the instance belongs.

eventCode

String

The event code.

Pre-instance change event ( freeze, unfreeze, rerun, set to succeeded, kill instance)

The following example shows the message body format (the content of the data field in the event message) of the 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

Type

Description

extensionBizId

String

The Extensions checkpoint process ID.

extensionBizName

String

The name of the operation object. Multiple objects are described as "object name...".

projectId

Long

The DataWorks workspace ID.

taskIds

List

The list of instance IDs.

tenantId

String

The tenant ID of the workspace to which the instance belongs.

operator

Long

The UID of the user who performed the instance operation.

eventCode

String

The extension point event code.

Instance change event - Delete expired instances

The following example shows the message body format (the content of the data field in the event message) of the delete expired instances event.

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

Type

Description

deletedTaskInstanceIds

List

The list of deleted instance IDs.

owner

String

The user ID of the instance owner.

operationTime

Long

The operation time.

blockBusiness

Boolean

Specifies whether to block the process when an extension exists.

  • true: Block.

  • false: Do not block.

appId

Long

The DataWorks workspace ID.

tenantId

String

The tenant ID of the workspace to which the instance belongs.

operator

Long

The UID of the user who performed the instance operation.

eventCode

String

The extension point event code.

Remove specified upstream dependency from instance event

The following example shows the message body format (the content of the data field in the event message) of the remove specified upstream dependency from instance event:

{
    "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 following table describes the fields:

Field

Type

Description

taskInstanceId

Long

The downstream instance ID.

upstreamTaskInstanceIds

List

The list of upstream instance IDs from which the dependency is removed.

operator

String

The UID of the user who performed the operation.

operationTime

Long

The operation time.

Workflow status change event

The following example shows the message body format (the content of the data field in the event message) of the 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

Type

Description

bizDate

String

The business date of the workflow. Format: yyyy-mm-dd hh24:mi:ss.

createTime

String

The creation time of the workflow. Format: yyyy-mm-dd hh24:mi:ss.

dagId

Long

The DAG ID. You can use this ID to obtain DAG details.

dagName

String

The name of the workflow.

dagType

Integer

The type of the DAG. Valid values:

  • 0: Scheduled task.

  • 1: Manual task.

  • 2: Smoke testing.

  • 3: Backfill data.

  • 4: Temporary workflow.

  • 5: Manual workflow.

flowId

Integer

The ID of the workflow to which the DAG belongs.

flowName

String

The name of the workflow to which the DAG belongs.

operator

String

The UID of the user who created the workflow.

projectEnv

String

The environment of the workflow. Valid values:

  • DEV: Development environment.

  • PROD: Production environment.

tenantId

Long

The tenant ID of the workspace to which the scheduled instance belongs.

projectId

Long

The workspace ID.

status

Integer

The status of tasks in the workflow. Valid values:

  • 1: Not running.

  • 4: Running.

  • 5: Failed.

  • 6: Succeeded.

eventCode

String

The Extensions event code.

Monitoring alerts

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

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

    Type

    Description

    alarmType

    String

    The alert type. Valid values:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    baselineId

    Long

    The baseline ID.

    baselineName

    String

    The baseline name.

    baselineStatus

    Integer

    The status of the baseline. Valid values:

    • -1: Abnormal.

    • 1: Safe.

    • 2: Warning.

    • 3: Breached.

    bizDate

    Long

    The timestamp of the business date.

    inGroupId

    Integer

    The cycle number of the baseline instance. The value is 1 for daily baselines. The value range is [1,24] for hourly baselines.

    nodeId

    Long

    The ID of the node that caused the baseline exception.

    projectId

    Long

    The ID of the workspace to which the baseline belongs.

    taskId

    Long

    The ID of the instance that caused the baseline exception.

    tenantId

    Long

    The tenant ID.

    eventCode

    String

    The Extensions event code.

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

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

    Type

    Description

    alarmType

    String

    The alert type. 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 workspace 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 body format of a task rule alert (the content of the data field in the message).

    Note

    Typically, rule objects include task nodes, baselines, workspaces, and workflows.

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

    Type

    Description

    alarmType

    String

    The alert type. Valid values:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    nodeIds

    String

    The list of nodes that triggered the rule alert.

    remindId

    Long

    The rule ID.

    remindType

    Stirng

    The trigger condition of the rule. Valid values:

    • FINISHED: Completed.

    • UNFINISHED: Not completed.

    • ERROR: Error occurred.

    • CYCLE_UNFINISHED: Cycle not completed.

    • TIMEOUT: Timed out.

    projectId

    Long

    The ID of the workspace 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

    The list of instances that triggered the rule alert.

    remindName

    String

    The rule name.

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

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

    Type

    Description

    alarmType

    String

    The alert type. Valid values:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    remindId

    Long

    The rule ID.

    remindType

    Stirng

    The trigger condition of the rule. Valid values:

    • FINISHED: Completed.

    • UNFINISHED: Not completed.

    • ERROR: Error occurred.

    • CYCLE_UNFINISHED: Cycle not completed.

    • TIMEOUT: 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 workspace 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 name of the resource group.

    resourceGroupType

    String

    The type of the resource group. Valid values:

    • GATEWAY: scheduling resource group.

    • DI: Data Integration resource group.

Security Center event list

Event list

Event type

Event (and triggering operation)

Standard event

Extension point event

EventBridge event type

(Type)

Extensions event code (eventCode)

Approval center

Pre-event for creating a permission request

image

image

dataworks:ApprovalChange:ApprovalChangeCreated

approval-change-created

Complete a request

image

image

dataworks:ApprovalChange:ApprovalChangeFinished

approval-change-finished

Security Center (table permission request)

Pre-event for table permission request

image

image

dataworks:ApprovalChange:ApprovalChangeBeforeCreate

approval-change-before-create

Message format

Approval center (create and complete requests)

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

    {
      "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",
        "flowId":"867***763",
        "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",
        "flowId":"867***763",
        "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

    Type

    Description

    appId

    Long

    The workspace ID.

    assignee

    String

    The BaseId of the approval handler.

    assigneeName

    String

    The name of the approval handler.

    comments

    String

    The remarks.

    createTime

    Long

    The timestamp when the approval request was created.

    flowId

    String

    The approval request ID.

    status

    String

    The status of the approval request.

    taskId

    String

    The approval task ID.

    tenantId

    String

    The tenant ID.

    updateTime

    String

    The timestamp when the approval request was updated.

    eventType

    String

    The event type.

    process

    Object

    The approval task object.

    applicant

    String

    The applicant BaseID.

    applicantName

    String

    The name of the applicant.

    assignmentCategory

    String

    The type of the request content.

    createTime

    String

    The timestamp when the approval request 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 request was updated.

    approvalContent

    Object

    The approval content object.

    applyPeriod

    String

    The requested duration of the approval request.

    applyReason

    String

    The reason for the approval request.

    contentType

    String

    The type of the approval content.

    odpsProjectName

    String

    The name of the approval project.

    resourceSummary

    String

    The resource description.

    tenantId

    Long

    The tenant ID.

    workspaceId

    Long

    The workspace ID.

    projectEnv

    String

    The environment to which the approval project belongs.

    granteeAccounts

    Array

    The list of granted access.

    .granteeId

    String

    The ID of the grantee.

    granteeType

    String

    The type of the grantee.

    granteeTypeSub

    String

    The sub-type of the grantee.

    granteeName

    String

    The name of the grantee.

    arrayData

    Array

    The list of granted content. For more information, see Appendix: Message format.

    eventType

    String

    The event type.

  • The following example shows the message body format of the complete approval request event (the content of the data field in the event message).

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "appId": 227859,
        "assignee": "286098539641742899",
        "eventCode": "approval-change-finished",
        "assigneeName": "******.******",
        "comments": "ces",
        "createTime": 1652095981000,
        "eventType": "approval",
        "flowId": "867***763",
        "process": {
          "applicant": "2860****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 table describes the fields:

    Field

    Type

    Description

    appId

    Long

    The workspace ID.

    assignee

    String

    The BaseId of the approval handler.

    assigneeName

    String

    The name of the approval handler.

    comments

    String

    The remarks.

    createTime

    Long

    The timestamp when the approval request was created.

    flowId

    String

    The approval request ID.

    status

    String

    The status of the approval request.

    taskId.

    String

    The approval task ID.

    tenantId

    String

    The tenant ID.

    updateTime

    String

    The timestamp when the approval request was last updated.

    eventType

    String

    The event type.

    process

    Object

    The approval task object.

    applicant

    String

    The applicant BaseID.

    applicantName

    String

    The name of the applicant.

    assignmentCategory

    String

    The type of the request content.

    createTime

    String

    The timestamp when the approval request 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 request was last updated.

    approvalContent

    Object

    The approval content object.

    applyPeriod

    String

    The duration of the request.

    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 access grants.

    granteeId

    String

    The ID of the grantee.

    granteeType

    String

    The grant type.

    granteeTypeSub

    String

    The subtype of the grantee, which indicates the account type. Valid values:

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

    • Application account: ACCOUNT_APP(102)

    • Personal account: ACCOUNT_USER(103)

    • Department account: ACCOUNT_DEPT(104)

    • Mock account: ACCOUNT_MOCK(106)

    • Other user's account: ACCOUNT_OTHER_USER(105)

    granteeName

    String

    The name of the grantee.

    arrayData

    Array

    The list of grant content. For more information, see Appendix: Grant content list.

    eventType

    String

    The event type.

Security Center ( table permission request pre-check event)

The following example shows the message entity format (the content of the data field in the event message) for a table permission request pre-check 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

Type

Description

operator

String

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

projectId

Long

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

tenantId

Long

The tenant ID where the table permission request pre-check operation was performed.

order

Object

The request information.

applyReason

String

The reason for the request.

deadlineDate

String

The expiration date of the request.

deadlineType

String

The time unit of the request expiration period. For example, Day or Month.

granteeObjectList

Object

The list of grantee objects.

granteeId

String

The grantee object 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

Specifies whether label-level access control is enabled:

  • true: Enabled.

  • false: Disabled.

objectMetaList

Array

The list of grant objects.

action

Array

The grant 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 resides.

projectName

String

The name of the workspace where the table resides.

eventType

String

The event type.

Appendix: Grant content list (MaxCompute)

In Security Center events, when an approval or table permission request is triggered, DataWorks adds arrayData to the event message sent to EventBridge. When the assignmentCategory type is MaxCompute, the arrayData content 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 table describes the fields.

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 of the table.

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: Grant content list (Data Service)

In Security Center events, when an approval or table permission request is triggered, DataWorks adds arrayData to the event message sent to EventBridge. When the assignmentCategory type is DataService, the arrayData content 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 following table describes the fields.

Field

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 Data Service 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: API orchestration.

ownerId

String

The BaseID of the resource owner.

url

String

The Data Service URL.

workspaceId

String

The workspace ID.

Data Quality event list

Event list

Event type

Event (and triggering operation)

Standard event

Extension point event

EventBridge event type

(Type)

Extension event code (eventCode)

Data Quality check

Check result feedback

  • Feedback provided by the user on check results

image

image

dataworks:DqcCheck:DqcCheckFeedbackEvent

dqc-check-feedback-event

Check completed

  • Sends the rule check result after the rule check is completed (including whether the check is passed, sample data, and other information)

image

image

dataworks:DqcCheck:DqcCheckFinishedEvent

dqc-check-finished-event

Data quality rule pre-event

Batch create data quality rules pre-event

image

image

dataworks:DqcCheck:BatchCreateDataQualityRules

batch-create-data-quality-rules

Batch update data quality rules pre-event

image

image

dataworks:DqcCheck:BatchUpdateDataQualityRules

batch-update-data-quality-rules

Batch delete data quality rules pre-event

image

image

dataworks:DqcCheck:BatchDeleteDataQualityRules

batch-delete-data-quality-rules

Update data quality rule pre-event

image

image

dataworks:DqcCheck:UpdateDataQualityRule

update-data-quality-rule

Data quality monitoring pre-event

Create data quality monitoring pre-event

image

image

dataworks:DqcCheck:CreateDataQualityEvaluationTask

create-data-quality-evaluation-task

Update data quality monitoring pre-event

image

image

dataworks:DqcCheck:UpdateDataQualityEvaluationTask

update-data-quality-evaluation-task

Clone data quality monitoring pre-event

image

image

dataworks:DqcCheck:CloneDataQualityEvaluationTask

clone-data-quality-evaluation-task

Batch delete data quality monitoring pre-event

image

image

dataworks:DqcCheck:BatchDeleteDataQualityEvaluationTasks

batch-delete-data-quality-evaluation-tasks

Data quality monitoring alert subscription pre-event

Create data quality monitoring alert subscription pre-event

image

image

dataworks:DqcCheck:CreateDataQualityEvaluationTaskNotification

create-data-quality-evaluation-task-notification

Update data quality monitoring alert subscription pre-event

image

image

dataworks:DqcCheck:UpdateDataQualityEvaluationTaskNotification

update-data-quality-evaluation-task-notification

Delete data quality monitoring alert subscription pre-event

image

image

dataworks:DqcCheck:DeleteDataQualityEvaluationTaskNotification

delete-data-quality-evaluation-task-notification

Message format

Data Quality check

  • The following example shows the message body format (the content of the data field in the event message) for a Data Quality check 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 key fields.

    Field

    Type

    Description

    ruleId

    Long

    The data quality rule ID.

    ruleCheckId

    Long

    The auto-increment ID of the check result.

    feedbackContent

    String

    The feedback content.

    createUser

    String

    The user ID of the person who provided the 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. Valid values: ODPS, EMR, and HOLO.

    projectName

    String

    The unique identifier of the data source to which the table associated with the rule belongs.

    projectId

    Long

    The DataWorks workspace ID.

    tenantId

    Long

    The DataWorks tenant ID.

  • The following example shows the message body format (the content of the data field in the event message) for a Data Quality check 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 fields are described as follows:

    Field

    Type

    Description

    id

    Long

    The primary key ID of the current check process. A new primary key ID record is generated each time a rule check is triggered.

    projectId

    Long

    The DataWorks workspace ID.

    tenantId

    Long

    The DataWorks tenant ID.

    taskId

    String

    The ID of the check 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 checked.

    bizdate

    Long

    The business date. If the checked business entity is offline data, the business date is usually the day before the check is performed.

    dateType

    String

    The type of the schedule. Usually YMD, which represents yearly, monthly, and daily tasks.

    actualExpression

    String

    The actual partition of the data source table being checked.

    matchExpression

    String

    The partition expression.

    blockType

    Integer

    The strength of the check rule. The 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 business requirements. If a strong rule triggers a red alert, the scheduled task is blocked.

    checkResult

    Integer

    The check result status. Valid values:

    • -2: Check skipped

    • -1: Check exception

    • 0: Check passed

    • 1: Orange threshold triggered

    • 2: Red threshold triggered

    methodName

    String

    The methods for collecting sample data include: 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, and table_count-count_distinct.

    beginTime

    Long

    The start time of the check.

    endTime

    Long

    The end time for querying check results.

    timeConsuming

    String

    The time consumed by the check task.

    externalType

    String

    The type of the scheduling system. Currently, only CWF2 is supported. If externalType is empty, the task is a manual trial-run task.

    externalId

    String

    • When externalType is CWF2, this field indicates the node ID of the scheduled task.

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

    discrete

    Boolean

    Indicates whether discrete checking is used. Valid values:

    • true: Discrete checking is used.

    • false: Discrete checking is not used.

    fixedCheck

    Boolean

    Indicates whether fixed-value checking is used. Valid values:

    • true: Fixed-value checking is used.

    • false: Fixed-value checking is not used.

    referenceValue

    The historical sample value.

    bizDate

    Long

    The business date. If the business entity being checked is offline data, the business date is usually the day before the check is performed.

    discreteProperty

    String

    The value of the sample column after a GROUP BY operation. For example, if GROUP BY is applied to a gender column, the DiscreteProperty values are male, female, and null.

    value

    Decimal

    The sample value.

    singleCheckResult

    Integer

    The string representation of the check result.

    sampleValue

    The currently used sample.

    bizDate

    Long

    The business date. If the business entity being checked is offline data, the business date is usually the day before the check is performed.

    value

    Decimal

    The sample value.

    trend

    String

    The trend of the check result.

    expectValue

    Double

    The expected value.

    op

    String

    The comparison operator.

    projectName

    String

    The name of the compute engine or data source on which Data Quality checks are performed.

    tableName

    String

    The name of the table to be checked.

    templateId

    Integer

    The ID of the check template used.

    checkerType

    Integer

    The type of the checker.

    ruleName

    String

    The name of the rule.

    isPrediction

    Boolean

    Indicates whether the result is a prediction. Valid values:

    • true: The result is a prediction.

    • false: The result is not a prediction.

    comment

    String

    The description of the check rule.

    eventCode

    String

    The Extensions event code.

Extension point events for data quality rules (batch create, update, and delete)

  • The following example shows the message entity format (the content of the data field in the event message) for the batch create data quality rules extension point 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 key fields.

    Field

    Type

    Description

    projectId

    List

    DataWorks workspace ID.

    operator

    String

    UID of the operator.

    operationTime

    Long

    Operation time.

    dataQualityTaskId

    Long

    The Data Quality monitoring ID associated with the rule. This field can be empty.

    target

    DataQualityTarget

    The monitoring target of the data quality rule.

    databaseType

    String

    The database type of the table dataset.

    • MaxCompute

    • EMR

    • CDH

    • Hologres

    • AnalyticDB for PostgreSQL

    tableGuid

    String

    The unique ID of the table in Data Map.

    rules

    List

    The list of data quality rules.

    name

    String

    Rule name.

    enabled

    Boolean

    Indicates whether the rule is enabled.

    severity

    String

    The business severity of the rule, corresponding to strong rules and weak rules on the page.

    • High

    • Normal

    description

    String

    Rule description.

    templateCode

    String

    The rule template referenced when creating the rule.

    samplingConfig

    SamplingConfig

    Settings required for sample collection.

    metric

    String

    Sampling metric name.

    • Count: Number of table rows

    • Min: Minimum column value

    • Max: Maximum column value

    • Avg: Average column value

    • DistinctCount: Number of distinct column values

    • DistinctPercent: Ratio of distinct column values to the number of rows

    • DuplicatedCount: Number of duplicate column values

    • DuplicatedPercent: Ratio of duplicate column values to the number of rows

    • TableSize: Table size

    • NullValueCount: Number of rows with null column values

    • NullValuePercent: Percentage of null column values

    • GroupCount: Number of rows for each value after aggregation by column value

    • CountNotIn: Number of rows not matching the enumerated values

    • CountDistinctNotIn: Number of distinct values not matching the enumerated values

    • UserDefinedSql: Sample collection through custom SQL

    checkingConfig

    CheckingConfig

    Sample validation settings.

    type

    String

    Threshold calculation method.

    • Fixed

    • Fluctation

    • FluctationDiscreate

    • Auto

    • Average

    • Variance

    thresholds

    Thresholds

    Threshold settings.

    expected

    Threshold

    Expected threshold settings.

    expression

    String

    Threshold expression.

    critical

    Threshold

    Threshold settings for critical warnings.

  • The following example shows the message entity format (the content of the data field in the event message) for the batch update data quality rules extension point 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 key fields.

    Field

    Type

    Description

    eventCode

    String

    Event code.

    projectId

    Long

    Workspace ID.

    tenantId

    Long

    Tenant ID.

    operator

    String

    User UID.

    operationTime

    Long

    Operation time.

    id

    Long

    Rule ID.

    name

    String

    Rule name.

    enabled

    Boolean

    Indicates whether the rule is enabled.

    true: Enabled.

    false: Disabled.

    severity

    String

    The business severity of the rule, corresponding to strong rules and weak rules on the page.

    • High

    • Normal

    description

    String

    Rule description.

    templateCode

    String

    Partition settings for partitioned tables.

    samplingConfig

    SamplingConfig

    Settings required for sample collection.

    metric

    String

    Sampling metric name.

    • Count: Number of table rows

    • Min: Minimum column value

    • Max: Maximum column value

    • Avg: Average column value

    • DistinctCount: Number of distinct column values

    • DistinctPercent: Ratio of distinct column values to the number of rows

    • DuplicatedCount: Number of duplicate column values

    • DuplicatedPercent: Ratio of duplicate column values to the number of rows

    • TableSize: Table size

    • NullValueCount: Number of rows with null column values

    • NullValuePercent: Percentage of null column values

    • GroupCount: The number of data rows for each value after aggregation by column value

    • CountNotIn: The number of rows that do not match the enumerated values

    • CountDistinctNotIn: The number of distinct values that do not match the enumerated values

    • UserDefinedSql: Sample collection through custom SQL

    checkingConfig

    CheckingConfig

    Sample verification settings.

    type

    String

    Threshold calculation method.

    • Fixed

    • Fluctation

    • FluctationDiscreate

    • Auto

    • Average

    • Variance

    thresholds

    Thresholds

    Threshold settings.

    expected

    Threshold

    Expected threshold settings.

    expression

    String

    Threshold expression.

    critical

    Threshold

    Critical alert threshold settings.

  • The following example shows the message body format of the batch delete data quality rules pre-event (the content of the data field in the event message).

    {
        "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 key fields.

    Field name

    Field type

    Description

    projectId

    List

    The DataWorks workspace ID.

    operator

    String

    The UID of the operator.

    operationTime

    Long

    The operation time.

    ids

    List

    The list of IDs of the deleted data quality rules.

    tenantId

    String

    The tenant ID.

    eventCode

    String

    The event code.

  • The following example shows the message body format of the update data quality rule pre-event (the content of the data field in the event message).

    {
        "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 key fields.

    Field name

    Field type

    Description

    eventCode

    String

    The event code.

    projectId

    Long

    The workspace ID.

    tenantId

    Long

    The tenant ID.

    operator

    String

    The user UID.

    operationTime

    Long

    The operation time.

    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 severity level of the rule for the business (corresponding to strong rules and weak rules on the page).

    • High

    • Normal

    description

    String

    The rule description.

    templateCode

    String

    The partition settings of the partitioned table.

    samplingConfig

    SamplingConfig

    The settings required for sample collection.

    metric

    String

    The name of the sampling metric.

    • Count: The number of table rows

    • Min: The minimum value of the column

    • Max: The maximum value of the column

    • Avg: The average value of the column

    • DistinctCount: The number of distinct values in the column

    • DistinctPercent: The ratio of distinct values in the column to the number of data rows

    • DuplicatedCount: The number of duplicate values in the column

    • DuplicatedPercent: The ratio of duplicate values in the column to the number of data rows

    • TableSize: The table size

    • NullValueCount: The number of rows where the column value is null

    • NullValuePercent: The percentage of rows where the column value is null

    • GroupCount: The number of data rows for each value after aggregation by column value

    • CountNotIn: The number of rows that do not match the enumerated values

    • CountDistinctNotIn: The number of distinct values that do not match the enumerated values

    • UserDefinedSql: Sample collection through custom SQL

    checkingConfig

    CheckingConfig

    Sample verification settings.

    type

    String

    Threshold calculation method.

    • Fixed

    • Fluctation

    • FluctationDiscreate

    • Auto

    • Average

    • Variance

    thresholds

    Thresholds

    Threshold settings.

    expected

    Threshold

    Expected threshold settings.

    expression

    String

    Threshold expression.

    critical

    Threshold

    Critical alert threshold settings.

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

  • The following example shows the message body format of the create and update data quality monitoring pre-events (the content of the data field in the event message).

    {
        "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 is successfully executed, 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 key fields.

    Field name

    Field type

    Description

    eventCode

    String

    The event code.

    name

    String

    The name of the data quality monitoring task.

    description

    String

    The description of the data quality evaluation task.

    target

    DataQualityTarget

    The monitoring target of the data quality evaluation task.

    databaseType

    String

    The database type of the table for a table-type dataset.

    • MaxCompute

    • EMR

    • CDH

    • Hologres

    • AnalyticDB for PostgreSQL

    tableGuid

    String

    The unique ID of the table in Data Map.

    trigger

    DataQualityEvaluationTaskTrigger

    The trigger configuration of the data quality evaluation task.

    type

    String

    The type of event that can trigger the data quality evaluation task.

    • ByScheduledTaskInstance: Triggered when a scheduled instance runs successfully. This option is supported only in public cloud scenarios.

    • ByManual: Manually triggered.

    taskIds

    Array

    Takes effect when type=ByScheduledTaskInstance. Specifies which scheduled node instances can trigger the task after running successfully.

    dataSourceId

    Long

    The data source to use when the data quality evaluation task is executed.

    runtimeConf

    String

    The settings for using the data source. Currently, only specifying the EMR YARN queue and setting the SQL engine to SPARK-SQL for collecting EMR tables are supported.

    rules

    List

    The list of data quality rules. For more information about the parameters, see Data quality rule pre-event parameters.

    hooks

    Array

    The callback settings during the lifecycle of the data quality evaluation task instance. Currently, only one hook that blocks scheduled task instances is supported.

    type

    String

    The type of follow-up action.

    BlockTaskInstance: Blocks the execution of a DataWorks task instance.

    condition

    String

    The hook trigger condition.

    notifications

    Array

    The notification settings.

    projectId

    Long

    The workspace ID.

    tenantId

    Long

    The tenant ID.

    operator

    String

    The UID of the operator.

    operationTime

    Long

    The operation time.

  • The following example shows the message entity format (the content of the data field in the event message) for the clone Data Quality monitoring extension point 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 key fields.

    Field

    Type

    Description

    projectId

    Long

    The DataWorks workspace ID.

    tenantId

    String

    The tenant ID.

    operator

    String

    The UID of the operator.

    operationTime

    Long

    The operation time.

    targets

    List

    The Data Quality monitoring targets to which the rules are cloned.

    databaseType

    String

    The database type of the table for a table-type dataset.

    • 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 rule to clone from.

    eventCode

    String

    The event code.

  • The following example shows the message entity format (the content of the data field in the event message) for the batch delete Data Quality monitoring extension point 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 key fields.

    Field

    Type

    Description

    projectId

    Long

    The DataWorks workspace ID.

    operator

    String

    The UID of the operator.

    operationTime

    Long

    The operation time.

    ids

    List

    The list of deleted Data Quality monitoring IDs.

    tenantId

    String

    The tenant ID.

    eventCode

    String

    The event code.

Data Quality monitoring alert subscription extension point events (create, update, and delete)

  • The following example shows the message entity format (the content of the data field in the event message) for the create and delete Data Quality monitoring alert subscription extension point events.

    {
        "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 key fields.

    Field

    Type

    Description

    projectId

    Long

    The DataWorks workspace ID.

    operator

    String

    The UID of the operator.

    operationTime

    Long

    The operation time.

    dataQualityEvaluationTaskId

    Long

    The Data Quality monitoring ID.

    channel

    String

    The channel type for sending subscription messages.

    • Mail - Email

    • Sms - SMS

    • Phone - Phone call

    • Feishu - Feishu

    • 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 in the event message) for the update Data Quality monitoring extension point 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 key fields.

    Field

    Type

    Description

    projectId

    Long

    The DataWorks workspace ID.

    operator

    String

    The UID of the operator.

    operationTime

    Long

    The operation time.

    dataQualityEvaluationTaskId

    Long

    The Data Quality monitoring ID.

    currentChannel

    String

    The channel type of the subscription message target being updated.

    • Mail - Email

    • Sms - SMS

    • Phone - Phone call

    • Feishu - Feishu

    • Weixin - WeChat

    • Dingding - DingTalk

    • Webhook - Custom webhook

    currentReceiverValue

    String

    The specific target of the subscription message being updated.

    updatedChannel

    String

    The channel type of the subscription message target after the update.

    • Mail - Email

    • Sms - SMS

    • Phone - Phone call

    • Feishu - Feishu

    • Weixin - WeChat

    • Dingding - DingTalk

    • Webhook - Custom webhook

    updatedReceiverValue

    String

    The specific target of the subscription message after the update.

    eventCode

    String

    The event code.

Tenant-level events

Events generated by tenant-level modules are tenant-level events, such as events generated when a workspace is deleted from the console. Use the event list below to identify which events are standard events and which are extension point events, along with their message formats.

The following message format tabs contain partial content only. For complete messages sent to EventBridge or Function Compute, refer to Appendix: Message format.

Console event list

Event list

Event type

Event (and triggering operation)

Standard event

Extension point event

EventBridge event type (Type)

Extensions event type (eventCode)

Delete workspace

Delete workspace extension point event

image

image

dataworks:ProjectChange:DeleteProject

delete-project

Post-delete workspace event

image

image

dataworks:ProjectChange:ProjectDeleted

project-deleted

Message format

Message entity format: Delete workspace events

  • The following example shows the message entity format (the content of the data field in the event message) for the tenant delete workspace extension point 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

    Type

    Description

    operator

    String

    The UID of the user who deleted the 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

    Extensions event code.

  • The following example shows the message body format (the content of the data field in the event message) of the post-event for tenant workspace deletion.

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

    The fields are described as follows:

    Field

    Type

    Description

    operator

    String

    The UID of the user who deleted 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 ID of the tenant to which the workspace to be deleted belongs.

    timestamp

    Long

    The timestamp when the message was sent.

    eventCode

    String

    Extensions event code.

Data Upload & Download event list

Event list

Event type

Event (and triggering operation)

Standard event

Extension point event

EventBridge event type (Type)

Extension event code (eventCode)

Data download and upload

Pre-event for data download - file generation

image

image

dataworks:ResourcesDownload:DownloadResources

download-resources

Pre-event for data download - file download

image

image

dataworks:ResourcesDownload:DownloadResourcesExecute

download-resources-execute

Pre-event for data upload

image

image

dataworks:ResourcesUpload:UploadDataToTable

upload-data-to-table

Message format

Data download and upload

  • The following example shows the message body format (the content of the data field in the event message) of the pre-event for data download - 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 fields are described as follows:

    Field

    Type

    Description

    moduleType

    String

    The source of the downloaded data:

    • entity_transfer: Data downloaded from .

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

    • sqlx_query: Data queried and downloaded by using SQL statements in .

    • dw_excel: Data downloaded from .

    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 downloaded data rows.

    sqlText

    String

    The SQL code used to query and download data.

    eventCode

    String

    Extensions event type.

  • The following example shows the message body format (the content of the data field in the event message) of the pre-event for data download - 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 key fields.

    Field

    Type

    Description

    moduleType

    String

    The source of the downloaded data:

    • entity_transfer: Data downloaded from .

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

    • sqlx_query: Data queried and downloaded by using SQL statements in .

    • dw_excel: Data downloaded from .

    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 downloaded data rows.

    sqlText

    String

    The SQL code used to query and download data.

    ip

    String

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

    eventCode

    String

    Extensions event type.

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

    {
      "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 fields are described as follows:

    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 in DataWorks.

    • 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 used to write data to the destination table. Valid values:

    • OVERWRITE: Overwrite existing data in the table.

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

    conflictMode

    String

    The primary key conflict resolution policy for data upload:

    • IGNORE: If a primary key conflict occurs, the uploaded data is ignored.

    • REPLACE: If a primary key conflict occurs, the conflicting row is deleted first, and then the uploaded data is inserted into that row. Columns not specified in the uploaded data are set to NULL.

    • UPDATE: The uploaded data overwrites the original table data. Only the columns specified in the uploaded data are overwritten, and unspecified columns remain 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 data is uploaded.

    datasourceName

    String

    The name of the data source to which 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

    Extensions event code.

Appendix: Message format

Message format for EventBridge

After you configure Open Event and add an event distribution channel, when a workspace-level or tenant-level event is triggered in DataWorks, the event is filtered based on the event type (Type) configured in EventBridge. The following is the message format that DataWorks sends to EventBridge through the event distribution channel.

{ 
 "datacontenttype": "application/json;charset=utf-8",// The content format of the data parameter. Only application/json is supported for datacontenttype.
  "data": {
 // The message content varies depending on the message type. The following two fields are fixed in the message. For event messages, see the preceding sections.
 "tenantId": 28378****10656,// The tenant ID. Each Alibaba Cloud account corresponds to a tenant in DataWorks, 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 in DataWorks.
 "eventCode": "xxxx"//
  },
  "id": "539fd8f4-4ea1-4625-aa8b-6c906674****",// The event ID. A unique value that identifies the event.
  "source": "acs.dataworks",// The event source, which is the service that provides the event. This indicates that the message is pushed by DataWorks.
  "specversion": "1.0",
  "subject": "",
  "time": "2020-11-19T21:04:41+08:00",// The time when the event was generated.
  "type": "dataworks:InstanceStatusChanges:InstanceStatusChanges",// The event type. You can use this event type 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 body and basic information such as the message ID, source, and generation time. The following table describes the important fields.

Field

Type

Description

data

object

The message body. The message format and field meanings vary depending on the event type. 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. This field is used to locate the event message.

type

String

The event type. This field describes the event type related to the event source. Examples:

  • dataworks:FileChange:CommitFile: Indicates that a file is submitted.

  • dataworks:FileChange:DeployFile: Indicates that a file is deployed.

You can use this event type 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 Function Compute

When you configure Extensions with the Function Compute method in DataWorks, DataWorks sends event messages in JSON format to Function Compute when the corresponding extension point event is triggered. The following is the message format sent to Function Compute.

{
	"blockBusiness": true,
	"eventCategoryType": "resources-download",// The event category.
	"eventType": "upload-data-to-table",// The event type.
	"extensionBizId": "job_6603***070",
	"messageBody": {
             // The message content varies depending on the message type. The following two fields are fixed in the message. For event messages, see the preceding sections.
             "tenantId": 28378****10656,// The tenant ID. Each Alibaba Cloud account corresponds to a tenant in DataWorks, 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 in DataWorks.
             "eventCode": "xxxx"//
	},
	"messageId": "52d44ee7-b51f-4d4d-afeb-*******"// The event ID. A unique value that identifies the event.
}

The following table describes the important fields.

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 field when developing Extensions. The content of this field varies depending on the message type.

tenantId

The tenant ID. Each Alibaba Cloud account corresponds to a tenant in DataWorks, 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 in DataWorks.

eventCode

The event code. This field identifies a specific type of event message. For the eventCode of each event type, see the Extensions event code (eventCode) column in the event list table.