After you register, publish, and enable an extension program in the DataWorks Open Platform, DataWorks sends a message to the program each time a matching extension point event fires in the workspace. The response from the extension program determines whether the operation can proceed. The extension program calls the UpdateIDEEventResult API to return the result.
This topic describes the extension point events supported by Data Studio and the constraints that apply to each.
Prerequisites
Before you begin, ensure that you have:
-
Message subscription enabled. For more information, see Enable message subscription.
-
An extension program developed and deployed. For more information, see Develop and deploy an extension program: Function Compute.
-
The extension program enabled in the workspace. On the Management Center page, find your extension program and toggle its validation on.
Supported extension point events
Data Studio supports six extension point events across two operation types:
| Event | Operation type | Applies to | Constraint |
|---|---|---|---|
| Run file | File | All node types | Built-in extension program validates ODPS SQL nodes only; for all other node types, the process is still blocked but the built-in extension program skips validation and immediately returns a success result |
| Commit file | File | All node types | Built-in extension program validates ODPS SQL nodes only; for all other node types, the process is still blocked but the built-in extension program skips validation and immediately returns a success result |
| Publish file | File | All node types | Built-in extension program validates ODPS SQL nodes only; for all other node types, the process is still blocked but the built-in extension program skips validation and immediately returns a success result |
| Delete file | File | All node types | Built-in extension program validates ODPS SQL nodes only; for all other node types, the process is still blocked but the built-in extension program skips validation and immediately returns a success result |
| Commit table | Table | MaxCompute tables only | Not triggered for tables outside MaxCompute |
| Publish table | Table | MaxCompute tables only | Not triggered for tables outside MaxCompute |
For composite nodes (do-while nodes and for-each nodes), all inner nodes must pass validation before the operation proceeds.
Extension point event flows
The following diagrams show the message flow for each supported event. In each flow, DataWorks blocks the operation, sends a message to the extension program, and waits for the result before allowing or rejecting the operation.
Data Studio - Run file
The event fires when a user runs a file in Data Studio. The operation is blocked until the extension program returns a result.
Data Studio - Commit file
The event fires when a user commits a file to the development environment. The operation is blocked until the extension program returns a result.
Data Studio - Publish file
The event fires when a user publishes a file to the production environment. The operation is blocked until the extension program returns a result.
Data Studio - Delete file
The event fires when a user deletes a file. The operation is blocked until the extension program returns a result.
Data Studio - Commit table
The event fires when a user commits a MaxCompute table to the development environment. The operation is blocked until the extension program returns a result.
Data Studio - Publish table
The event fires when a user publishes a MaxCompute table to the production environment. The operation is blocked until the extension program returns a result.
Limitations
-
Built-in extension programs take effect only for ODPS SQL nodes. For any other node type, the process is blocked as usual, but the built-in extension program skips validation and immediately returns a success result.
-
Table extension point events (commit table and publish table) are triggered only for MaxCompute tables. Committing or publishing tables in other compute engines does not fire these events.
-
For composite nodes (do-while nodes and for-each nodes), all inner nodes must pass validation before the outer operation is allowed to proceed.
What's next
-
To enable and manage extension programs in a workspace, see Use extension programs.
-
For the complete list of extension point events across all DataWorks modules, see List of supported extension point events.
-
For the message payload format for file events (commit, publish, run, delete, and code review), see File change events.
-
For the message payload format for table events (commit and publish), see Table change events.