Lawrence Shaban
08/30/2023, 9:35 AMDB
08/30/2023, 10:46 AMfrom typing import Dict, Any, List
from dagster import asset,
AssetsDefinition, AssetExecutionContext, ConfigurableResource
class MyExternalApiResource(ConfigurableResource):
def call_api(self, api_opts: Dict[str, Any]) -> None:
...
def generate_asset(asset_key: str, api_opts: Dict[str, Any], deps: Optional[List[str]] = None) -> AssetsDefinition:
@asset(name=asset_key, deps=deps)
def _asset(context: AssetExecutionContext, external_api: MyExternalApiResource) -> None:
external_api.call_api(api_opts)
return _asset
assets: List[AssetsDefinition] = []
# populate the assets list with calls to the generate_assets function and use it in defs
sandy
08/30/2023, 12:13 PMLawrence Shaban
08/30/2023, 12:45 PMDB
08/30/2023, 1:16 PMLawrence Shaban
08/30/2023, 2:37 PMDB
08/31/2023, 12:53 PMLawrence Shaban
09/05/2023, 3:56 PM