我试图使用jinja模板将xcom中的一些json解析到字典中。请注意,Operator
和{
def xcom_from_json(xcom):
xcom_loaded = json.loads(xcom)
logging.info(pformat(f'xcom loaded: {xcom_loaded}', indent=3))
return xcom_loaded
PythonOperator(python_callable=some_callable,
op_args=[f'{{{{ (ti.xcom_pull("{task_id}") | xcom_from_json)["data"]["stats"] }}}}'])
上面的方法几乎可以。在some_callable
方法中,我得到了已解析的jinja,但是它是一个stringized dict而不是一个原始dict。这没有意义,因为您可以在jinja模板中看到作为dict遍历的结构。jinja把模板中的所有东西都串起来了吗?如果是,有没有办法不这么做?在
一个呈现的jinja模板总是返回一个字符串。相反,您可以从python方法中获取XCom值。在
请注意,您必须提供context,这使python方法具有与jinja模板相同的值访问权限。在
相关问题 更多 >
编程相关推荐