You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow Jinja模板调用xcom_pull返回列表而非字符串该如何处理?

问题原因

你传入的task_ids参数是列表类型['task1'],Airflow的xcom_pull方法约定:当task_ids传入列表时,会返回对应所有任务的XCom结果组成的列表,所以你拿到了单元素列表['this is just a string']。
你之前在PythonOperator里直接传入字符串类型的task_ids='task1',属于拉取单个任务的XCom,因此直接返回对应字符串值。

解决方案

两种修改方式均可实现直接获取目标字符串:

  • 方式1:把task_ids参数从列表改为单个字符串(最推荐,符合Airflow方法设计规范)
"{{ ti.xcom_pull(task_ids='task1', key='return_value') }}"
  • 方式2:如果确实需要保留task_ids的列表写法,直接在模板末尾加下标取第一个元素
"{{ ti.xcom_pull(task_ids=['task1'], key='return_value')[0] }}"

内容的提问来源于stack exchange,提问作者Kyle N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:18:03