https://dagster.io/ logo
#ask-ai
Title
# ask-ai
j

Justin Bricker

02/16/2024, 5:14 PM
@Scout How can I add metadata to an
observed_source_asset
? I tried to add it with
context.add_output_context('key':MetadataValue.path('path'))
, but nothing is showing up in the metadata in the UI
s

Scout

02/16/2024, 5:14 PM
To add metadata to an
observed_source_asset
, you would typically use the
AssetMaterialization
event to enrich the asset with metadata. However, based on the documentation, there is no direct mention of adding metadata to an
observed_source_asset
using
context.add_output_context
. The closest relevant information in the documentation is about adding metadata to assets and ops. For example, when defining an asset, you can return a
MaterializeResult
with metadata attached to it, as shown in the following code snippet from the documentation:
Copy code
python from dagster import AssetExecutionContext, MetadataValue, asset, MaterializeResult  @asset(deps=[topstory_ids]) def topstories(context: AssetExecutionContext) -> MaterializeResult:     # ... asset computation logic ...      df = pd.DataFrame(results)     df.to_csv("data/topstories.csv")      return MaterializeResult(         metadata={             "num_records": len(df),             "preview": MetadataValue.md(df.head().to_markdown()),         }     )
In the case of ops, you can use
context.add_output_metadata
to attach metadata to an output:
Copy code
python from dagster import Out, op  @op def add_metadata(context):     context.add_output_metadata({"foo": "bar"})     return 5  # Since the default output is called "result", metadata will be attached to the output "result".
However, for
observed_source_asset
, the documentation does not provide a clear example or method for adding metadata directly within the context of an
observed_source_asset
. If you are not seeing the metadata in the UI, it's possible that the method you are using is not supported for
observed_source_asset
, or there may be an issue with how the metadata is being attached. If you believe that your approach should work based on the documentation for similar constructs, and it's not working as expected, it might be a good idea to check for any errors in the Dagster logs, ensure that you are using the correct method and syntax, and verify that the UI is correctly configured to display metadata. If the issue persists, you may want to seek further assistance from the Dagster community or support channels, as the documentation does not provide a definitive answer for this specific use case.