Emanuele Domingo
03/31/2022, 1:24 PM@op(ins={"path": In(str)})
def my_op(conxtext, path):
metadata = load_file_into_data_lake(path)
yield AssetMaterialization(
asset_key=AssetKey(metadata["index"]),
metadata=metadata
)
it raises an error: dagster.core.errors.DagsterStepOutputNotFoundError: Core compute for op "<op_name>" did not return an output for non-optional output "result"
. I imagine that the asset materialization event requires an output, is that true?
Nevertheless i found a workaround with:
@op(
ins={"path": "<cloud://cloud_path>"},
out={"result": Out(Nothing)} # workround
)
def my_op(conxtext, path):
...
Thanks!Alex Service
03/31/2022, 1:48 PMyield Output(True)
on ops that materialize assets but don’t need to actually return anything; your approach is likely better 🙂owen
03/31/2022, 4:00 PMcontext.log_event(AssetMaterialization(...))
instead of yielding the event.Emanuele Domingo
04/01/2022, 7:16 AM