我有以下DAG和两个SSHExecuteOperator任务。第一个任务执行返回参数的存储过程。第二个任务需要此参数作为输入。
请解释一下如何从task1中推送的XCom中提取值,以便在task2中使用它?
String[] array;
String txt = "A String Example";
String output;
array=txt.split(" "); // split the text using space.
output = array[1]; // if you want to keep the second word.
答案 0 :(得分:6)
所以我找到的解决方案是当task1执行shell脚本时,你必须确保你想要被XCom变量捕获的参数是脚本打印的最后一个东西(使用echo)。
然后我能够使用以下代码片段检索XCom变量值:
{{ task_instance.xcom_pull(task_ids='run_remote_sp_audit_batch_register') }}
答案 1 :(得分:0)
由xcom_push = True插入,尝试do_xcom_push = True,它将通过键return_value将所有stdout带到xcom