AWS Lambda python函数在输出中提供json标头

时间:2019-06-16 04:29:34

标签: json aws-lambda aws-serverless

我正在尝试调用lambda服务。当我点击Get方法(在Api gateway-> stages-> GET下)调用Url时,我还会看到json标头和状态代码。但是在acloud大师的演讲视频中,我只看到了身体。谁能告诉我我在这里想念什么。

这是我的python函数:

def lambda_handler(event, context):

print("In lambda handler")

resp = {

   "statusCode": 200,

   "headers": {

   "Access-Control-Allow-Origin": "*",

},

"body": "myName"

}

return resp

实际输出:

{"statusCode": 200, "headers": {"Access-Control-Allow-Origin": "*"}, "body": "myName"}

预期输出:

myName

1 个答案:

答案 0 :(得分:1)

在这里您使用了lambda代理集成,但未在API网关级别启用它。

您可以在集成请求下启用它,请参见下图 enter image description here

API网关和Lambda集成有两种类型

  1. 代理集成-向API网关的请求直接转发到lambda,并从lambda发送响应。在此集成中,我们必须在lambda中创建具有适当状态代码和标头的响应正文
  2. Lambda集成-可以在发送到lambda之前修改请求,并可以使用映射模板在API网关级别从lambda响应修改响应

此博客文章提供了有关2种集成的更多详细信息 https://medium.com/@lakshmanLD/lambda-proxy-vs-lambda-integration-in-aws-api-gateway-3a9397af0e6d