node-lambda - TypeError:处理程序不是函数
Posted
技术标签:
【中文标题】node-lambda - TypeError:处理程序不是函数【英文标题】:node-lambda - TypeError: handler is not a function 【发布时间】:2016-09-09 20:45:26 【问题描述】:AWS 新手,到目前为止发现它非常简单,但在打包 lambda 函数时遇到了困难。
我正在使用 node-lambda 来尝试运行该函数,但在 node-lambda 运行时不断收到以下错误:
/usr/local/lib/node_modules/node-lambda/lib/main.js:93
handler(event, context, callback);
^
TypeError: handler is not a function
at Lambda._runHandler (/usr/local/lib/node_modules/node-lambda/lib/main.js:93:7)
at Lambda.run (/usr/local/lib/node_modules/node-lambda/lib/main.js:49:8)
at Command.<anonymous> (/usr/local/lib/node_modules/node-lambda/bin/node-lambda:89:12)
at Command.listener (/usr/local/lib/node_modules/node-lambda/node_modules/commander/index.js:301:8)
我的 index.js 文件有这样声明的处理程序
exports.myHandler = function(event, context)
我的 .env 中的 AWS_HANDLER 设置为 index.handler。我觉得我错过了一个明显的步骤。
【问题讨论】:
您已将其命名为myHandler
。您需要将其命名为 handler
或更改您告诉 Lambda 查找的名称。
我知道这很简单。一百万谢谢!
【参考方案1】:
使用exports.handler = async function(event, context)
代替
exports.myHandler = function(event, context)
【讨论】:
仅供参考,AWS Lambda JS 运行时直到 2018 年 4 月才支持异步/等待,也就是最初提出这个问题的 2 年后。以上是关于node-lambda - TypeError:处理程序不是函数的主要内容,如果未能解决你的问题,请参考以下文章
Angular 12 TypeError:无法在 HttpHeaders.applyUpdate 处读取 null 的属性(读取“长度”)
无法准确解读错误:TypeError:路径必须是绝对路径或在 ServerResponse.sendFile 处指定 res.sendFile 的根
Javascript:未捕获的 TypeError:无法在 HTMLButtonElement.but.onclick 处设置属性“innerHTML”为空(
Blazor TypeError:无法在 Object.e 处读取 null 的属性“removeChild”[作为 removeLogicalChild]