每次我遇到语法错误或者我只想在 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
我可能误解了这篇文章中的某些内容吗?它似乎收到了“错误消息”:“天塌下来了!”在 API 网关响应中(这就是我所期望的)。
https://aws.amazon.com/es/blogs/compute/error-handling-patterns-in-amazon-api-gateway-and-aws-lambda/ https://aws.amazon.com/es/blogs/compute/error-handling-patterns-in-amazon-api-gateway-and-aws-lambda/
如果你使用integration: lambda-proxy
,您需要从 Lambda 返回正确的错误响应,而不是从 API Gateway。
在这种情况下,您可以使用已经尝试过的方法:
callback(null, { body: JSON.stringify( { errorMessage: "my error" })
我想我们可以使用第一个参数来发送错误
你可以,如果你使用integration: lambda
在你的serverless.yml
但就你而言,你不是。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)