【发布时间】:2021-09-24 21:35:56
【问题描述】:
我真的希望能够通过 API 网关将自定义错误从我的 Lambda 函数中传回。
我是这样产生错误的:
if (error) { // failure
APIGatewayResult = { // set error object
statusCode: 608,
message: 'File upload to buffer failed.',
error: error
};
done();
};
我很确定上面的格式要么解析不正确,要么我无法像这样将其传回:
done = (err, res) => callback(null, {
statusCode: err ? APIGatewayResult.statusCode : APIGatewayResult.statusCode,
body: err ? JSON.stringify(APIGatewayResult) : JSON.stringify(APIGatewayResult),
headers: {
'Content-Type': 'application/json',
},
});
我希望从 API 网关得到的响应如下所示:
{
"statusCode": 608,
"message": "File upload to buffer failed.",
"error": {}
}
而不是这个:
{
"message": "Internal server error"
}
【问题讨论】:
-
由于lambda内部未处理的错误发生内部服务器错误,您可以查看cloudwatch日志找出错误。
-
@Jishnu - 重点是创建一个我可以出售给其他人的 API。他们将无法访问 cloudwatch,但可以访问 API 网关的响应。
标签: node.js amazon-web-services aws-lambda aws-api-gateway