【问题标题】:node-lambda - TypeError: handler is not a functionnode-lambda - TypeError:处理程序不是函数
【发布时间】: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 查找的名称。
  • 我知道这很简单。一百万谢谢!

标签: javascript node.js amazon-web-services lambda aws-lambda


【解决方案1】:

使用exports.handler = async function(event, context) { 代替 exports.myHandler = function(event, context) {

【讨论】:

  • 仅供参考,AWS Lambda JS 运行时直到 2018 年 4 月才支持异步/等待,也就是最初提出这个问题的 2 年后。
猜你喜欢
  • 2020-05-13
  • 1970-01-01
  • 1970-01-01
  • 2019-02-14
  • 1970-01-01
  • 1970-01-01
  • 2020-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多