【问题标题】: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


    【解决方案1】:

    使用“使用 Lambda 作为代理”复选框时,您需要以正确的响应进行响应。查看this document

    This 可能更合适

    【讨论】:

      【解决方案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
      

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 2019-09-15
        • 2020-11-02
        • 2017-10-04
        • 1970-01-01
        • 2019-08-24
        • 1970-01-01
        • 1970-01-01
        • 2018-09-23
        • 2017-08-08
        相关资源
        最近更新 更多