AWS Lambda函数返回模块'index'上缺少Handler'handler'

时间:2016-05-09 13:38:53

标签: node.js aws-lambda

请考虑以下代码 -

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

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

这是我的功能,它具有业务逻辑。我的javascript文件名为index.js

每当我在aws lambda上测试这段代码时,它会给出以下log(failed)

这是亚马逊Lambda上传网站的屏幕截图: enter image description here

3 个答案:

答案 0 :(得分:29)

export.handler中,您没有引用index函数,而是它的执行结果。我想你想要导出这个函数。

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

或者直接

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

答案 1 :(得分:4)

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

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

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

答案 2 :(得分:2)

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