Pipeline commands
- Last UpdatedAug 20, 2026
- 2 minute read
Pipeline commands execute instructions against a stream of records, and in general operate upon each record one-by-one in the order received.
The top-level Command class model is as shown in the following diagram:

The distinction between a ReadCommand and a FilterCommand is that a ReadCommand pumps data into the pipeline from a source and hence, has no input. A FilterCommand has both input and output. A WriteCommand is a type of FilterCommand since it accepts input and passes output.
A pipeline executes in these phases corresponding to the lifecycle of individual commands as listed in the following table:
|
Phase |
Description |
Comments |
|---|---|---|
|
Compile |
Pipeline and commands are constructed. |
The pipeline is instantiated, pipeline Variables are evaluated and Confirm checks run. |
|
Begin |
Commands are activated. |
Each command will run on a thread and configured settings will be examined. Begin() is called on commands. Any evaluation in this phase will not have access to attributes but may resolve variables. |
|
Execute |
Commands are executed against records. |
During this phase, records will be passed into commands for processing. Any evaluation in this phase has access to the current record being processed, so attributes will be accessible via the IExecutionContext. |
|
End |
Commands are deactivated. |
End() is called on commands, to complete the processing. |
Each command described in this topic lists parameters used to configure that command, which are usually data expressions. The phase of a parameter is where that setting is evaluated, so parameters evaluated in the Begin phase will not have access to attributes.