Runtime Values and Expressions¶
Runtime values let SchemAlign resolve dynamic values while a pipeline runs.
Named values¶
Named values are explicit.
current_term should be defined as a named runtime value, not inferred from a generic artifact.
Value sources¶
Named values may come from:
| Source | Example |
|---|---|
| System value | {{run_id}} |
| Date value | {{yyyymmdd}} |
| SQL scalar value | current_term = select current_term from academic_period |
| Upstream node-published value | next_page_token = response.body.nextPageToken |
Resolution timing¶
Expressions should resolve immediately before the node that uses them executes.
1. Node becomes ready.
2. SchemAlign loads the node config.
3. Expression-enabled fields are resolved.
4. The node receives prepared config.
5. The node executes.
A node runner should receive a resolved value:
not the unresolved expression:
Field-level expression support¶
Not every field should support expressions.
Good candidates:
- URLs
- query parameters
- headers
- SQL text
- file names
- file paths
- email subject
- email body
- output artifact names
Fields that usually should stay literal:
- node type
- organization ID
- project ID
- credential selector
- runtime selector
- unsafe custom node runtime settings
- most boolean toggles