Airflow 如何从SimpleHttpOperator读取响应正文

Airflow 如何从SimpleHttpOperator读取响应正文,airflow,Airflow,我是个新手。我已经编写了一个使用SimpleHttpOperator提交HTTP Post的代码。在本例中,post请求返回一个令牌,我需要关于如何读取响应体的帮助 get_templates = SimpleHttpOperator( task_id='get_templates', method='POST', endpoint='myendpoint', http_conn_id = 'myconnection', trigger_rule="all

我是个新手。我已经编写了一个使用SimpleHttpOperator提交HTTP Post的代码。在本例中,post请求返回一个令牌,我需要关于如何读取响应体的帮助

get_templates = SimpleHttpOperator(
    task_id='get_templates',
    method='POST',
    endpoint='myendpoint',
    http_conn_id = 'myconnection',
    trigger_rule="all_done",
    headers={"Content-Type": "application/json"},
    xcom_push=True,
    dag=dag
)
看来POST成功了。现在我的问题是如何阅读回复正文。 这是输出的代码,没有错误 [2019-05-06 20:08:40518]{http_hook.py:128}信息-向url发送“POST”: /usr/lib/python2.7/site packages/urllib3/connectionpool.py:847:unsecurerequestwarning:正在发出未验证的HTTPS请求。强烈建议添加证书验证。见:
不安全请求警告)

SimpleHttpOperator的
execute
函数返回
响应。text
()。通过查看,您可以看到:

。。。如果任务返回一个值(从其运算符的execute()方法,或从PythonOperator的python_可调用函数),则包含该值的XCom将自动推送

这意味着响应主体被推送到XCom,并可供下游任务访问

例如,您可以使用
PythonOperator
通过以下方式获取它:

response\u body=context['task\u instance'].xcom\u pull(task\u id='get\u templates')

此外,如果您只想记录响应而不是处理响应,您可以将
SimpleHttpOperator
构造函数的
log\u响应设置为
True
,谢谢。我试过了,我的错误率正在下降。我是否需要导入一些库响应\u body=context['task\u instance'].xcom\u pull(task\u id='get\u templates')NameError:名称“context”未定义我无法提取响应\u body。响应体的一个元素是令牌,我需要将其传递给下一个SimpleHttpOperator任务。类似于下面的标题={“授权”:“承载者”+访问令牌}。你能帮我吗?你只要从函数返回值,它就会以同样的方式发送到XCom。在下一个操作符中执行与在此处检索相同的操作。