我试图用AWS lambda建立一个hello world示例,并通过api网关为其提供服务.我点击了"创建一个lambda函数",它设置了API GATWAY并 Select 了空白函数选项.我添加了AWS gateway getting started guide上的lambda函数:

exports.handler = function(event, context, callback) {
  callback(null, {"Hello":"World"});  // SUCCESS with message
};

问题是,当我向它发出GET请求时,它会返回502响应{ "message": "Internal server error" }.日志(log)显示"由于配置错误,执行失败:Lambda代理响应格式错误".

推荐答案

通常,当看到Malformed Lambda proxy response时,这意味着Lambda函数的响应与API Gateway期望的格式不匹配,如下所示

{
    "isBase64Encoded": true|false,
    "statusCode": httpStatusCode,
    "headers": { "headerName": "headerValue", ... },
    "body": "..."
}

如果未使用Lambda代理集成,则可以登录API网关控制台并取消选中Lambda代理集成复选框.

此外,如果您看到间歇性Malformed Lambda proxy response,这可能意味着对Lambda函数的请求已被Lambda限制,您需要请求增加Lambda函数的并发执行限制.

Node.js相关问答推荐

Google功能框架无法本地运行 struct 化云功能

可以删除一个mongodb catch块

我的位置也移动时左右拖动谷歌 map

在Node.js下使用PostgreSQL客户端聚合PostgreSQL中的用户定义类型

NPM:一般的npm二进制依赖可以静态构建吗?

从MongoDB获取Tree数据

我的Node.js应用程序没有将Mongoose方法findByIdAndDelete作为函数进行检测

关于Node.js中的AES加密库的问题

将 POST 的 json 变量格式化为 lambda

如何获取mongoose中单个id数据的记录

使用react 组件加载特定 DIV 而无需重新加载整个页面

将环境变量从 GitHub 操作传递到 json

使用正则表达式查找文档,但输入是数组

如何调用同名的两个函数?

为什么我的 Heroku Express API 数据是持久的,即使它只是来自一个变量

Node.js 大文件上传到 MongoDB 阻塞了事件循环和工作池

bash:npm:找不到命令?

Dart 语言比 JavaScript (Node.js) 有什么好处

如何解决 Socket.io 404(未找到)错误?

卸载代码/模块