*`DagsterStepOutputNotFoundError` for `op` which y...
# random
s
DagsterStepOutputNotFoundError
for
op
which yields
AssetMaterialization
I have an
op
which doesn't have an output. I have added yielding of an
AssetMaterialization
and now I'm getting
DagsterStepOutputNotFoundError
. I've tried adding: •
yield
yield Output()
yield Nothing
I'm on
0.13.9
. What does the
op
need yield in addition to the
AssertMaterialization
?
My solution to this was:
Copy code
yield Output(None)
I understand that as soon as something is being explicitly yielded from an
op
, e.g.
AssetMaterialization
, the implicit conversion of the
op
return value (maybe
None
if the
op
returns nothing) to an
Output
can't happen. In this case it's required to explicitly yield some
Output
, even if it's
Output(None)
. https://docs.dagster.io/concepts/ops-jobs-graphs/op-events#outputs
p
Yes, that’s exactly right. The implicit return value of a function that does not return anything is
None
. Also, as soon as your op yields an explicit event, it must also yield an explicit
Output
. https://docs.dagster.io/concepts/assets/asset-materializations#yielding-an-assetmaterialization-from-a-op
👍 1
s
@prha Thanks.