【问题标题】:AWS Lambda Function is returning Handler 'handler' missing on module 'index'AWS Lambda 函数返回模块“索引”上缺少的处理程序“处理程序”
【发布时间】:2016-09-04 04:15:05
【问题描述】:

考虑以下代码 -

function index(event, context, callback) {
  //some code
}
exports.handler = index();

{
  "errorMessage": "Handler 'handler' missing on module 'index'"
}

这是我的具有业务逻辑的函数。我的 javascript 文件名是index.js

每当我在 aws lambda 上测试此代码时,它都会提供以下 log(failed)

这是 Amazon Lambda 上传站点的屏幕截图:

【问题讨论】:

    标签: node.js aws-lambda


    【解决方案1】:

    export.handler 中,您引用的不是index 函数,而是它的执行结果。我猜你想导出函数本身。

    let index = function index(event, context, callback) {
      //some code
    }
    exports.handler = index;
    

    或者直接

    exports.handler = function index(event, context, callback) {
      //some code
    }
    

    【讨论】:

      【解决方案2】:

      您可以做的是将您的函数声明为exports.handler。当你的函数导出到 lambda 时,它带有命名空间。

      exports.handler = function(event, context) {
          //code
      }
      

      如果你想要快速的代码,你可以忽略回调。

      【讨论】:

        【解决方案3】:

        您可能错误地将处理程序指定为“index.js”而不是“index.handler”

        【讨论】:

          猜你喜欢
          • 2021-12-16
          • 1970-01-01
          • 2018-04-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多