Operation check enforces quality gates at key stages of the node development lifecycle—before a node is run, before it's deployed to the development environment, and before it's deployed to production. This prevents non-compliant operations from propagating downstream before they cause problems.
DataWorks supports two approaches:
-
Built-in check items via Data Asset Governance — enable preconfigured checks with no custom code required
-
Custom extensions via Open Platform — subscribe to events and implement your own check logic for scenarios that built-in items don't cover
Requirements
Operation check requires DataWorks Enterprise Edition or above.
The node development process differs between workspaces in standard mode and workspaces in basic mode. The examples in this topic use a workspace in standard mode. For a comparison of the two modes, see Comparison of basic mode and standard mode.
How it works
Operation check intercepts an action at a configurable checkpoint in the node development workflow. If the check passes, the workflow continues. If it fails, the operation is blocked until the issue is resolved.
The following diagrams show where checks fit into the node development process.
Standard mode
Basic mode
Supported checkpoints
Both approaches support checks at three points in the workflow:
| Checkpoint | Built-in check items (Data Asset Governance) | Custom extensions (Open Platform) |
|---|---|---|
| Before a node is run | ||
| Before a node is deployed to the development environment | ||
| Before a node is deployed to the production environment |
When to use each approach:
-
Use Data Asset Governance when the built-in check items cover your requirements. Configuration requires no custom code — enable a check item and specify which workspace it applies to.
-
Use Open Platform when you need custom logic that the built-in items don't support, such as enforcing team-specific coding standards or integrating with external validation services.
Enable built-in check items
Data Asset Governance provides multiple built-in check items. Enable the ones that match your requirements and specify which workspace they apply to. When a developer performs the corresponding operation, the check triggers automatically. The operation can only proceed after the check passes.
Select the Effective Checkpoint value that matches the stage where you want the check to apply:
| Stage | Effective Checkpoint value |
|---|---|
| Before a node is debugged | Pre-event for Code Running |
| Before a node is deployed to the development environment | Pre-event for Node Commit |
| Before a node is deployed to the production environment | Pre-event for Node Deployment |
To configure check items, go to Data Asset Governance and specify the workspace in which each enabled item takes effect. For step-by-step instructions, see Configure governance items.
Develop custom extensions
If the built-in check items don't meet your requirements, build a custom extension using Open Platform. Open Platform consists of three modules that work together:
| Module | Role |
|---|---|
| OpenEvent | Subscribe to event messages generated by operations on the Data Studio page |
| Extensions | Create an extension to process the subscribed event messages |
| OpenAPI | Send the processing results back to DataWorks to allow or block the operation |
The following diagram shows how a custom check works for the node debugging stage:
Configure a custom extension
The general workflow is:
-
Subscribe to the event messages for the operations you want to intercept.
-
Develop an extension that processes those event messages and applies your check logic.
-
Publish the extension to DataWorks.
-
Specify the workspace where the extension takes effect.
Select the events that correspond to the checkpoint you want:
| Checkpoint | Events to subscribe to |
|---|---|
| Before a node is debugged | pre-event for node running |
| Before a node is deployed to the development environment | pre-event for node committing, pre-event for table committing |
| Before a node is deployed to the production environment | Pre-event for node deployment, Pre-event for table deployment |
For the full list of supported event types and background on each module, see Overview of OpenEvent and Overview of Extensions.
What's next
-
Get started with custom extensions: Develop and deploy an extension based on a self-managed service
-
See real-world examples: