[英]Calling a BashOperator from a Python Callable with XCom Pull in Airflow Dag
[英]Airflow BashOperator Pass Arguments between Python Scripts
为了在使用 Apache Airflow 调度时在 virtualenv 中运行 Python 脚本,使用了BashOperator
。
例如,
task_a = BashOperator(
task_id='task_a',
bash_command='/path/to/virtualenv/bin/python /path/to/script_a.py'),
dag=dag)
task_b = BashOperator(
task_id='task_b',
bash_command='/path/to/virtualenv/bin/python /path/to/script_b.py'),
dag=dag)
在这种情况下,我们如何在task_a
和task_b
之间传递数据,就像在使用PythonOperator
时使用 Xcom 时一样?
{{ ti.xcom_pull(task_ids='task_a') }}
作为参数传递给task_b
中的脚本。 请记住,只有 BashOperator 的BashOperator
的最后一行被推送到 Xcom。
task_a = BashOperator(
task_id='task_a',
bash_command='/path/to/virtualenv/bin/python /path/to/script_a.py'),
dag=dag)
task_b = BashOperator(
task_id='task_b',
bash_command="/path/to/virtualenv/bin/python /path/to/script_b.py {{ ti.xcom_pull(task_ids='task_a') }}"),
dag=dag)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.