首页 > 解决方案 > AWS Lambda nodejs 函数中的事件对象为空

问题描述

我正在使用 Lambda 函数来查询 RDS MySQL 数据库。为了获取一行,我将主键作为 URL 中的参数传递(使用 AWS API 网关)。示例网址是:

https://aaaaaaa.execute-api.aaaaaaa.amazonaws.com/default/getresult?pk=1245

在 Lambda 函数中,

exports.handler =  (event, context, callback) => {
  //prevent timeout from waiting event loop
  callback(null, event);

};

我得到{}了 url 的输出。

注意: Lambda 代理集成已启用。

标签: node.jsamazon-web-servicesapiaws-lambdaaws-api-gateway

解决方案


应在 API Gateway 上启用 Lambda 代理集成,以便 API Gateway 将事件详细信息(包括参数)传递给 Lambda。

有关如何在控制台中执行此操作,请在此处查看此图像:

在此处输入图像描述

转到您的 API,然后是您的资源,然后是您的方法执行,然后选择“集成请求”。从那里勾选“使用 Lambda 代理集成”框。

启用此选项后,API Gateway 可以使用事件中可用的请求详细信息(包括参数)将请求代理到 Lambda。


推荐阅读