我应该如何实现我的lambda处理程序与我的REST API网关模型使用非代理lambda?



我卡住了我应该如何开始我的lambda处理程序,将从dynamodb读取一些数据。我已经用请求和响应模型定义了我的api网关模型,因此我需要在lambda处理程序中声明任何状态码吗?我是否使用API网关代理响应事件?任何代码示例

关于lambda处理程序中应该包含的内容的注释:

  • DB访问
  • map over table
  • <
  • 找到属性/gh>
  • 返回api响应?

我错过了什么?谢谢你。

如果您决定使用非代理Lambda集成,那么您需要使用正则表达式定义集成响应。下面是一个使用nodeJS的例子:

λ正则表达式通常我像这样声明我的错误消息:

const errorMessages = {
INTERNAL_SERVER_ERROR: {
message: "Internal server error!",
code: 500
},
ERROR_BODY_INVALID: {
message: "Invalid request body",
code: 400
}
};

然后抛出如下错误

exports.handler = function(event, context, callback) {
try {
// do something                   
} catch (error) { 
callback(JSON.stringify(errorMessages.INTERNAL_SERVER_ERROR));
};
}

当lambda错误正则表达式匹配时,它将被映射到配置的响应状态码。

p。d。如果您正在使用Java,此方法不起作用,您需要使用代理集成

最新更新