SuperAPI AI 工具集

gcp-managed-airflow-dag-authoring

通用与其它

查看项目

更新于 10-16 05:49

技能介绍

用途:指导为 Managed Service for Apache Airflow(MSAA,原 Cloud Composer)编写与校验 Apache Airflow DAG。流程分三阶段。

环境上下文发现:先判断是否有目标环境访问权限、本地开发环境或纯离线编辑。可访问时用 gcloud composer environments describe <ENV_NAME> --location <REGION> 配合 --format 查询 imageVersion、pypiPackages、dagGcsPrefix,以了解 Airflow 版本约束、已装包与 DAG 的 GCS 桶;离线时依赖用户提供信息。

编写最佳实践:任务应幂等;不要在 DAG 文件顶层执行数据库查询、外部 API 调用或重计算;除需历史回填外设置 catchup=False;用 Variable.get()、BaseHook.get_connection() 及 Jinja 模板管理变量与凭据,避免硬编码。Airflow 2 与 3 的兼容性调整可参考迁移技能。

校验:本地可用 ruff check path/to/dag.py 做静态检查。若有 composer-dev,可复制 DAG 后用 composer-dev run-airflow-cmd <LOCAL_ENV> dags list-import-errors 验证解析。有授权时可上传至 GCS:gcloud storage cp path/to/dag.py gs://<TARGET_BUCKET>/dags/,等待 1-2 分钟后用 gcloud composer environments run <ENV_NAME> --location <REGION> dags list-import-errors 确认无导入错误,并用 dags list | grep <DAG_ID> 确认已列出;必要时在 Cloud Logging 按资源类型与日志 ID 排查解析错误。完成标准为符合目标版本约束、无顶层执行且尽可能幂等、本地可解析,并在可用时完成部署校验。