【问题标题】:AWS Lambda returns respond as 502 Bad request for option methodAWS Lambda 返回响应为 502 Bad request for option method
【发布时间】:2020-05-17 11:05:36
【问题描述】:
我有一个带有 API 网关的 lambda (LAMBDA_PROXY) 函数,它是在 Golang(go-chi 路由器)中实现的。
当我从邮递员或浏览器调用 lambda 时,它会给出 502 Bad Gateway 状态。在 CloudWatch 中,我发现以下错误消息
生成代理响应时出错:响应中未设置状态代码:errorString null
【问题讨论】:
标签:
amazon-web-services
go
aws-lambda
bad-request
【解决方案2】:
您遇到的错误是因为,当您使用 API Gateway + Lambda 代理集成时,lambda 函数的 返回值 必须在以下JSON format:
{
"isBase64Encoded": true|false,
"statusCode": httpStatusCode,
"headers": { "headerName": "headerValue", ... },
"body": "..."
}
由于您使用的是 Golang,您可以通过添加以下 sn-p 来编辑 main.go 函数的返回值,如下所示:
return events.APIGatewayProxyResponse{
Body: string(body),
StatusCode: 200
}, nil
希望这会有所帮助!