在Airflow中,可以使用get_task_instances()
方法来获取一个任务的下游任务列表。以下是一个示例代码:
from airflow.models import TaskInstance
from airflow import DAG
# 定义一个DAG
dag = DAG(dag_id='my_dag', ...)
# 获取任务的下游任务列表
def get_downstream_tasks(task_id):
# 根据DAG ID和任务ID获取任务实例
task_instance = TaskInstance(task=task_id, dag=dag)
# 获取下游任务实例列表
downstream_task_instances = task_instance.get_task_instances(downstream=True)
# 获取下游任务的任务ID列表
downstream_task_ids = [task.task_id for task in downstream_task_instances]
return downstream_task_ids
# 调用函数获取任务的下游任务列表
downstream_tasks = get_downstream_tasks('my_task')
# 打印下游任务列表
for task_id in downstream_tasks:
print(task_id)
在上述示例中,首先需要定义一个DAG对象。然后,可以使用get_downstream_tasks()
函数来获取特定任务的下游任务列表。在函数中,我们首先通过任务ID和DAG ID创建任务实例。然后,使用get_task_instances()
方法获取下游任务实例列表。最后,我们将下游任务实例的任务ID提取出来并返回。