Artifact References
Artifact references are namespaced strings that appear as values in recipe step inputs and outputs.
Formats
| Format | Meaning |
|---|---|
job:name | A job-level input artifact named name |
step:stepId.slotName | The artifact produced by step stepId in slot slotName |
job: references
job:input_las refers to an artifact named input_las that must be provided in the job's inputs map at submission time.
json
"inputs": { "input_las": "job:input_las" }This tells the step: "bind your input_las slot to the job-level artifact named input_las."
The job submission must include:
json
"inputs": {
"job:input_las": {
"type": "las",
"uri": "development/pineydam/mbes.las",
"hash": "abc123def456"
}
}step: references
step:reproject.output_las refers to the artifact produced in the output_las slot of the step with ID reproject.
json
"inputs": { "input_las": "step:reproject.output_las" }This tells the step: "bind your input_las slot to whatever the reproject step produced in its output_las slot."
How references flow through a DAG
In a two-step pipeline:
json
[
{
"id": "reproject",
"type": "REPROJECT_LAS",
"inputs": { "input_las": "job:input_las" },
"outputs": { "output_las": "step:reproject.output_las" }
},
{
"id": "build_ept",
"type": "BUILD_EPT",
"inputs": { "input_las": "step:reproject.output_las" },
"outputs": { "output_ept": "step:build_ept.output_ept" }
}
]reprojectreads from the job's initial inputreprojectwrites its result tostep:reproject.output_lasbuild_eptreads fromstep:reproject.output_las— so it gets whatreprojectproduced- Ordo enforces topological order:
build_eptwill not start untilreprojectcompletes
Slot names vs artifact names
The key in inputs/outputs is the executor's slot name (from step_executor.accepts / step_executor.produces). The value is the artifact name flowing through the DAG.
json
"inputs": { "input_las": "job:input_las" }
// ^slot name ^artifact nameSlot names must exactly match the executor's contract. Artifact names are yours to choose (as long as they're valid job: or step: references).