AgentSkillsCN

Airflow Adapter

针对v2/v3 API兼容性,采用Airflow适配器模式。

SKILL.md
--- frontmatter
description: Airflow adapter pattern for v2/v3 API compatibility
globs:
  - src/astro_airflow_mcp/adapters/**
  - src/astro_airflow_mcp/server.py

Airflow Adapter Pattern

Enables compatibility with both Airflow 2.x (/api/v1) and 3.x (/api/v2).

Architecture

code
MCP Tool → _get_adapter() → AirflowV2Adapter or AirflowV3Adapter → Airflow API

Version is auto-detected at startup.

Key Files

  • adapters/base.py - Abstract interface
  • adapters/airflow_v2.py - Airflow 2.x (/api/v1)
  • adapters/airflow_v3.py - Airflow 3.x (/api/v2)

Related Files

  • @api-differences.md - V2 vs V3 field/endpoint differences
  • @patterns.md - Implementation patterns

Quick Reference

python
adapter = _get_adapter()
dags = adapter.list_dags(limit=100)
run = adapter.trigger_dag_run("my_dag", conf={"key": "value"})