用途:协助将现有托管服务版 Apache Airflow(原 Cloud Composer)环境或本地环境中的 DAG,调整为兼容 Airflow 2.11.1(MSAA Gen 2 或 3)或 Airflow 3(MSAA Gen 3)。
主要能力:
- 阶段一:仅在明确要求时下载 DAG 文件并检查源环境版本,详见 references/environment-inspection.md。
- 阶段二:目标版本与依赖映射。给出 Composer 2.10.0 到 2.17.0 各版本对应的 Google/SSH/HTTP Provider 版本及破坏性变更,如 SSH 4.0.0 移除 Hook timeout、HTTP 5.0.0 将 SimpleHttpOperator 改为 HttpOperator、Google Provider 11.0.0 移除 BigQueryExecuteQueryOperator 等。迁移到 Airflow 3 时需考虑解耦 Task SDK(导入从 airflow 改为 airflow.sdk)、移除元数据库直连、Dataset 改名 Asset、移除 SubDAG 与 SLA 等。
- 阶段三:分析与修复。提供 grep 扫描命令定位 Dataset 调度、HTML 描述、teardown 任务、Pendulum 3、SSH/HTTP/Google Provider 变更,并给出对应替换方案。
- 阶段四:部署与验证。仅在明确要求时执行,包括获取目标 GCS 桶路径、上传 DAG、用 Airflow CLI 检查 dags list 与 list-import-errors、在 Cloud Logging 查询错误日志;Airflow 3 可用 ruff check <file> --select AIR30 做静态检查。
使用方式:在本地工作区(默认 ./migration_workspace)运行扫描命令,按提示修改代码,必要时用 composer-dev 本地验证;部署使用 gcloud 命令,例如 gcloud composer environments describe <TARGET_ENV> --location <TARGET_REGION> --format="value(config.dagGcsPrefix)"。
限制:所有下载、部署和验证步骤仅在明确要求时执行;调度器解析新文件可能有数分钟延迟;资料未提供具体收费、价格或平台可用性信息。