PipelineStep
Shared request and response schema. Request: Pipeline step accepted in a definition. Exactly one of script or transform must be set. Transform configuration refers to inputs and outputs by port key, and transform steps cannot use secrets. Response: Pipeline step returned in a definition. Exactly one of script or transform is set. Transform configuration refers to inputs and outputs by port key, and transform steps do not use secrets.
Step name
alias object
- string
- null
description object
Step-owned description, independent of the referenced Code's description so steps sharing one Code can be labeled distinctly.
- string
- null
script object
Code resource ID to execute (code step)
- string
- null
transform object
Native transform spec (transform step)
- object
- null
Possible values: [aggregate, join, rename_cast, select_filter, union]
- aggregate
- join
- rename_cast
- select_filter
- union
11config object필수
Config for the aggregate op: group-by + allowlisted aggregate functions. An empty group_by aggregates the whole input to a single row. input is a port key.
Input port key
Grouping columns (empty = whole-input aggregate)
aggregations object[]필수
Aggregations (non-empty)
Allowlisted aggregate function
Possible values: [sum, count, avg, min, max]
column object
Aggregated column (omit only for count)
- string
- null
Output column name
11config object필수
Two-input equi-join configuration. left_input and right_input are pipeline port keys, keys contains at least one equality pair, and columns explicitly selects the output. Other join predicates are not accepted.
Left input port key
Right input port key
inner | left | right | full
Possible values: [inner, left, right, full]
keys object[]필수
Equi-join column pairs (non-empty)
Join column on the left input
Join column on the right input
columns object[]필수
Output projection (non-empty)
Source input port key (left_input or right_input)
Source column name on that input
alias object
Output column name (defaults to name)
- string
- null
11config object필수
Config for the rename_cast op. Listed columns are renamed / cast; columns not listed pass through unchanged. input is a port key.
Input port key
columns object[]필수
Column rename / cast rules (non-empty)
Source column name
alias object
New column name (defaults to name)
- string
- null
cast object
Allowlisted target type
- string
- null
Possible values: [utf8, int64, float64, bool]
11config object필수
Select-and-filter transform configuration accepted in a request. input is a pipeline port key, not a resource identifier; columns=null keeps every column, and where=null applies no predicate.
Input port key (a PipelineStep.inputs key)
columns object
Column names returned for this resource.
- object[]
- null
Source column name on the input
alias object
Output column name (defaults to name)
- string
- null
where object
Structured row predicate
- RowFilter
- null
Possible values: [and, or]
andconditions object[]
Nested conditions (leaf RowFilterCondition or group RowFilter)
- RowFilterCondition
- Option 2
conditionconditionColumn name to filter on
Allowed Row Filter Operator values. Values: eq, ne, gt, gte, lt, lte, in, not_in, and 4 more.
Possible values: [eq, ne, gt, gte, lt, lte, in, not_in, between, like, is_null, is_not_null]
value object
Filter value. Single value for scalar operators, list for 'in'/'not_in', 2-element list for 'between'. Omit for 'is_null'/'is_not_null'.
- Option 1
- null
11config object필수
Union configuration for two or more pipeline input ports. Inputs are aligned by column name, missing values become null, and duplicate rows are retained.
Input port keys to union (>= 2)
inputs object
Input dataset mapping
- object
- null
outputs object
Output dataset mapping
- object
- null
dependencies object
List of dependent step names
- string[]
- null
options object
- object
- null
secrets object
Secret values to inject into contexts['secrets']
- object[]
- null
contexts['secrets'] key the step reads
Secret reference, e.g. secret://secret.
{
"name": "string",
"alias": "string",
"description": "string",
"script": "string",
"transform": {
"version": 1,
"op": "select_filter",
"config": {
"input": "string",
"columns": [
{
"name": "string",
"alias": "string"
}
],
"where": {
"kind": "and",
"conditions": [
{
"kind": "condition",
"column": "string",
"operator": "eq"
},
null
]
}
}
},
"inputs": {},
"outputs": {},
"dependencies": [
"string"
],
"options": {},
"secrets": [
{
"name": "string",
"ref": "string"
}
]
}