使用API Gateway处理AWS Lambda函数中的错误

惠美

每当我遇到语法错误或仅想在AWS Lambda函数中发送自定义错误时,我都会收到相同的502 Bad Gateway响应(内部服务器错误)。

我尝试了简单的代码:

module.exports.saveImage = (event, context, callback) => {
    callback("the sky is falling!"); // also tried sending new Error("the sky is falling!")
}

并且仍然会收到相同的“内部服务器错误”响应,而不是已定义的响应。

这是我在serverless.yml文件中的功能:

saveImage:
  handler: handler.saveImage
  environment:
    BUCKET: ${self:custom.bucket}
  events:
  - http:
      path: saveImage
      method: post
      cors: true,
      integration: lambda-proxy

我可能误解了这篇文章中的某些内容?似乎收到了“ errorMessage”:“天塌了!” 在API网关响应中(这就是我所期望的)。

https://aws.amazon.com/es/blogs/compute/error-handling-patterns-in-amazon-api-gateway-and-aws-lambda/

诺埃尔·列夫瓦雷斯(Noel Llevares)

如果使用integration: lambda-proxy,则需要从Lambda而不是从API Gateway返回正确的错误响应。

在这种情况下,您可以使用已经尝试过的方法:

callback(null, { body: JSON.stringify( { errorMessage: "my error" })

我以为我们可以使用第一个参数发送错误

如果可以使用,可以使用integration: lambdaserverless.yml但不可以。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在AWS API Gateway API URL中处理空间-我正在使用Dynamodb代理

使用API网关处理AWS Lambda错误

AWS API Gateway + AWS Lambda中的CORS

如何使用 TypeScript 编写的 API Gateway 在 VS Code 中调试本地 AWS Lambda 函数?

在API Gateway中使用AWS Lambda Authorizer

使用同步 StepFunctions 处理 API Gateway 中的错误

是否可以使用AWS API为Lambda函数设置AWS API Gateway端点?

在Lambda中解析AWS API Gateway头

如何在AWS Lambda函数中获取AWS API Gateway调用URL?

如何在AWS Lambda函数中从AWS API Gateway URI访问请求和路径变量

使用AWS API Gateway Lambda构建Web后端api

使用AWS API Gateway HTTP API设置Lambda代理

使用 node.js 从 AWS Lambda 将自定义错误传回 AWS API Gateway

捕获AWS Api Gateway中的超时错误

使用NodeJS的AWS Lambda函数中的AWS-SDK加载错误

使用aws-cli在AWS API Gateway中启用CORS

无法通过API Gateway运行AWS Lambda函数

用于SOAP / REST转换的AWS API Gateway和Lambda函数

即使Lambda返回错误,AWS API Gateway也会返回200

AWS Lambda + API Gateway导致油门错误500

使用aws-cli创建api-gateway lambda集成

如何使用多种方法从API Gateway触发AWS Lambda?

开发 AWS Lambda 函数时要在 API Gateway 代理请求事件中使用哪些属性?

如何使用AWS API Gateway将URL参数传递给Lambda函数?

带有API Gateway的AWS Lambda使用hello-world蓝图返回500错误

如何使用 AWS Gateway 获取 Lambda 以在 C# 中返回 HTTP 错误状态代码

从lambda函数中访问AWS API?

从AWS API Gateway Web界面配置AWS Lambda时无法选择/查看Lambda函数

使用HTTP代理访问AWS API Gateway中的标头?