Airflow v2/Cloud Composer如何立即触发DAG目录刷新扫描?
解决Airflow v2/Cloud Composer v2立即触发DAG目录刷新的方法
方法1:通过gcloud调用Airflow CLI命令
Cloud Composer允许直接在托管环境中执行Airflow CLI命令,用gcloud composer environments run即可触发DAG目录扫描:
刷新所有DAG:
gcloud composer environments run <你的环境名称> --location <你的区域> dags rescan仅刷新指定DAG(更高效):
gcloud composer environments run <你的环境名称> --location <你的区域> dags rescan -- --dag-id <目标DAG_ID>
执行命令后,Airflow会立即触发DAG目录扫描,无需等待默认的5分钟间隔。
方法2:调用Airflow REST API v2
Airflow v2提供了专门的API端点用于触发DAG扫描,结合gcloud身份认证即可调用Composer环境的Airflow API:
先获取Composer环境的Airflow Web服务器地址:
gcloud composer environments describe <你的环境名称> --location <你的区域> --format="value(config.airflowUri)"触发全量DAG扫描:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "<获取到的Airflow URI>/api/v1/dags/rescan"仅刷新单个DAG:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "<获取到的Airflow URI>/api/v1/dags/<目标DAG_ID>/rescan"
注意事项
- 这两种方法均为官方支持方式,无需修改
dag_dir_list_interval参数,避免非开发时段的资源浪费。 - 确保你的账号拥有Composer环境的
composer.environments.run权限以及Airflow API的访问权限。
内容的提问来源于stack exchange,提问作者JDiMatteo
相关产品推荐
相关产品推荐

