get_upstream_dataset_events
Retrieve upstream dataset events for a specific DAG run in Apache Airflow, enabling effective monitoring and debugging of task dependencies and data flow.
Instructions
Get dataset events for a DAG run
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dag_id | Yes | ||
| dag_run_id | Yes |
Implementation Reference
- src/airflow/dagrun.py:223-227 (handler)The handler function implementing the get_upstream_dataset_events tool. It retrieves upstream dataset events for a given DAG run using the Airflow DAGRunApi and returns the result as text content.async def get_upstream_dataset_events( dag_id: str, dag_run_id: str ) -> List[Union[types.TextContent, types.ImageContent, types.EmbeddedResource]]: response = dag_run_api.get_upstream_dataset_events(dag_id=dag_id, dag_run_id=dag_run_id) return [types.TextContent(type="text", text=str(response.to_dict()))]
- src/airflow/dagrun.py:17-29 (registration)Registration of the get_upstream_dataset_events tool within the list returned by get_all_functions for MCP tool registration.def get_all_functions() -> list[tuple[Callable, str, str, bool]]: """Return list of (function, name, description, is_read_only) tuples for registration.""" return [ (post_dag_run, "post_dag_run", "Trigger a DAG by ID", False), (get_dag_runs, "get_dag_runs", "Get DAG runs by ID", True), (get_dag_runs_batch, "get_dag_runs_batch", "List DAG runs (batch)", True), (get_dag_run, "get_dag_run", "Get a DAG run by DAG ID and DAG run ID", True), (update_dag_run_state, "update_dag_run_state", "Update a DAG run state by DAG ID and DAG run ID", False), (delete_dag_run, "delete_dag_run", "Delete a DAG run by DAG ID and DAG run ID", False), (clear_dag_run, "clear_dag_run", "Clear a DAG run", False), (set_dag_run_note, "set_dag_run_note", "Update the DagRun note", False), (get_upstream_dataset_events, "get_upstream_dataset_events", "Get dataset events for a DAG run", True), ]
- src/airflow/dagrun.py:14-14 (helper)Global dag_run_api instance used by the handler to call the Airflow API.dag_run_api = DAGRunApi(api_client)