【发布时间】:2020-03-14 16:13:20
【问题描述】:
我正在尝试找出如何使用无服务器框架直接将响应作为 JSON 返回。 这是 AWS 上的一个函数,带有 Lambda 代理集成。所有默认设置。 目标是从python lambda函数中,客户端得到的HTTP响应直接是一个JSON对象,而不是一个JSON的字符串序列化。
python 处理程序就这么简单
def handle(event, context):
log.info("Hello Wold")
log.info(json.dumps(event, indent=2))
return {
"statusCode": 200,
"body": {"foo": "bar"},
"headers": {
"Content-Type": "application/json"
}
}
函数如下所示:
functions:
report:
handler: handler.handle
events:
- http:
path: api/mypath
method: post
authorizer: aws_iam
通过这些配置,我在 Postman 中得到的响应 BODY 是:
{
"statusCode": 200,
"body": {
"foo": "bar"
},
"headers": {
"Content-Type": "application/json"
}
}
所以这很奇怪,为什么我把一切都当作身体?如何正确配置它以便我只得到“真实”的身体?
【问题讨论】:
标签: python aws-lambda aws-api-gateway serverless-framework serverless