Airflow Bash Operator可以使用xcom_push参数将任务输出存储在Airflow元数据库中,以便以后检索。代码示例:
from airflow import DAG from airflow.operators.bash_operator import BashOperator from datetime import datetime
default_args = { 'owner': 'airflow', 'start_date': datetime(2019, 1, 1), }
dag = DAG('bash_operator_example', default_args=default_args)
t1 = BashOperator( task_id='bash_operator_example', bash_command='echo "Hello World"', xcom_push=True, dag=dag)
t2 = BashOperator( task_id='get_output', bash_command='echo {{ ti.xcom_pull(task_ids="bash_operator_example") }}', dag=dag)
t2.set_upstream(t1)
在这里,t1使用xcom_push参数将echo命令的输出存储在Airflow元数据库中。然后,使用ti.xcom_pull检索相同的输出。