Мне нужно сослаться на переменную, которая возвращается BashOperator
. Возможно, я делаю это неправильно, поэтому, пожалуйста, прости меня. В моем task_archive_s3_file
мне нужно получить имя файла из файла get_s3_file
. Задача просто печатает {{ ti.xcom_pull(task_ids=submit_file_to_spark) }}
в виде строки вместо значения.
Если я использую команду bash_command
, значение bash_command
правильно.
get_s3_file = PythonOperator(
task_id='get_s3_file',
python_callable=obj.func_get_s3_file,
trigger_rule=TriggerRule.ALL_SUCCESS,
dag=dag)
submit_file_to_spark = BashOperator(
task_id='submit_file_to_spark',
bash_command="echo 'hello world'",
trigger_rule="all_done",
xcom_push=True,
dag=dag)
task_archive_s3_file = PythonOperator(
task_id='archive_s3_file',
# bash_command="echo {{ ti.xcom_pull(task_ids='submit_file_to_spark') }}",
python_callable=obj.func_archive_s3_file,
params={'s3_path_filename': "{{ ti.xcom_pull(task_ids=submit_file_to_spark) }}" },
dag=dag)
get_s3_file >> submit_file_to_spark >> task_archive_s3_file