Python 如何获取气流dag运行的作业ID?

Python 如何获取气流dag运行的作业ID?,python,pyspark,airflow,apache-airflow,Python,Pyspark,Airflow,Apache Airflow,当我们在气流UI上执行DAGROUN时,在“图形视图”中,我们可以获得每个作业运行的详细信息 JobID类似于“scheduled\u 2017-04-11T10:47:00” 我需要这个JobID来跟踪和创建日志,在其中我维护每个任务/数据运行所花费的时间 因此,我的问题是如何在正在运行的同一dag中获取JobID 谢谢,Chetan这个值实际上被称为run\u id,可以通过上下文或宏访问 在python操作符中,这是通过上下文访问的,在bash操作符中,这是通过bash\u命令字段上的ji

当我们在气流UI上执行DAGROUN时,在“图形视图”中,我们可以获得每个作业运行的详细信息

JobID类似于“scheduled\u 2017-04-11T10:47:00”

我需要这个JobID来跟踪和创建日志,在其中我维护每个任务/数据运行所花费的时间

因此,我的问题是如何在正在运行的同一dag中获取JobID


谢谢,Chetan

这个值实际上被称为
run\u id
,可以通过上下文或宏访问

在python操作符中,这是通过上下文访问的,在bash操作符中,这是通过
bash\u命令
字段上的jinja模板访问的

有关宏中可用内容的详细信息:

有关jinja的更多信息:

从afflow.models导入DAG
从日期时间导入日期时间
从afflow.operators.bash_operator导入bash operator
从afflow.operators.python_operator导入PythonOperator
dag=dag(
dag_id='run_id',
计划时间间隔=无,
开始日期=日期时间(2017年2月26日)
)
定义我的职能(**kwargs):
上下文=kwargs
打印(上下文['dag\u run'].run\u id)
t1=蟒蛇算子(
task\u id='python\u run\u id',
python\u callable=my\u func,
提供上下文=True,
dag=dag
)
t2=bash算子(
task\u id='bash\u run\u id',
bash_command='echo{{run_id}}',
dag=dag)
t1.设置_下游(t2)

以此dag为例,检查每个操作员的日志,您应该会看到日志中打印的
运行id

这是否仅适用于计划运行?我正在从CLI运行,并且得到
kwargs['dag_run']
在SSHOperator上也是非工作的:t3=SSHOperator(dag=dag,ssh_conn_id='some-great-worker',task_id='666',command=f'{{{{{run id}}}}}')