Pierre Cadman
03/12/2024, 11:51 AMScout
03/12/2024, 11:51 AMload_asset_value
method provided by Dagster. This method allows you to load the contents of an asset as a Python object, which can then be used within your asset check logic. Here's a general approach based on the documentation: 1. Define your asset with the @asset
decorator. 2. Within the asset check function, use the load_asset_value
method to retrieve the asset's value. You will need to pass the AssetKey
of the asset you want to load. The load_asset_value
method is part of the AssetValueLoader
class, which caches resource definitions used to load asset values across multiple load invocations. It should not be instantiated directly; instead, you should use the get_asset_value_loader()
method provided by the RepositoryDefinition
. Here's a simplified example of how you might use load_asset_value
within an asset check: python from dagster import asset, AssetKey @asset def my_asset(): # Asset computation logic ... def my_asset_check(context): # To avoid a circular dependency, this import needs to be inside the function body from my_dagster_project import defs # Use the asset value loader to load the asset's value with defs.get_asset_value_loader() as loader: asset_value = loader.load_asset_value(AssetKey("my_asset")) # Perform your check using the loaded asset value ...
Please note that the above code is a conceptual example. You will need to adapt it to fit the specifics of your project and asset definitions. Additionally, if your asset is defined in a different Python module from the one that includes your Definitions
object, you'll need to take extra care to avoid a circular dependency error at module load time. For more detailed information and examples, you should refer to the Dagster documentation on assets and asset checks.