Airflow环境变量拉取来源及AIRFLOW_CTX_DAG_ID设置位置咨询
Airflow 2.5.2中
AIRFLOW_CTX_DAG_ID相关问题解答 是不是运行时默认变量?
是。AIRFLOW_CTX_DAG_ID是Airflow在任务执行时自动注入的运行时环境变量,不需要用户手动配置或在静态文件中设置。
变量的注入逻辑
当Airflow调度任务(无论是通过LocalExecutor、CeleryExecutor还是其他执行器)时,会在启动任务进程的瞬间,将一系列上下文相关的环境变量注入到进程环境中,AIRFLOW_CTX_DAG_ID就是其中之一。这类变量还包括:
AIRFLOW_CTX_TASK_ID:当前执行的任务IDAIRFLOW_CTX_EXECUTION_DATE:任务的执行日期AIRFLOW_CTX_DAG_RUN_ID:当前DAG运行实例的ID
这些变量由Airflow的任务执行框架自动处理,无需用户干预。
官方文档参考(Airflow 2.5.2)
在Airflow 2.5.2的官方文档里,这类变量被归类为「任务运行时上下文环境变量」:
- 在「任务实例」相关章节中,说明Airflow会自动为任务提供这些上下文变量,用于任务代码获取当前运行的元信息。
- 在「内置环境变量」参考章节中,详细列出了所有
AIRFLOW_CTX_*前缀的变量定义和用途。
快速验证方法
可以在DAG任务中添加代码打印该变量,确认其存在:
import os from airflow.decorators import task @task def check_ctx_var(): dag_id = os.getenv("AIRFLOW_CTX_DAG_ID") print(f"当前运行的DAG ID: {dag_id}")
执行任务后,查看任务日志就能看到输出的DAG ID值。
内容的提问来源于stack exchange,提问作者sammy morgan
相关产品推荐
相关产品推荐

