AWS Lambda Function is returning Handler 'handler' missing on module 'index'

38,787

Solution 1

In export.handler, you are not referencing the index function, but the result of its execution. I guess you want to export the function itself.

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

Or maybe directly

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

Solution 2

What you can do is to declare your function as the exports.handler. When your function exports to lambda, it comes with the namespace.

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

You can ignore the callback if you want fast code.

Solution 3

You may have incorrectly specified your handler as "index.js" instead of "index.handler"

Share:
38,787
Ashly
Author by

Ashly

Updated on May 22, 2020

Comments

  • Ashly
    Ashly almost 4 years

    Consider following code -

    function index(event, context, callback) {
      //some code
    }
    exports.handler = index();
    
    {
      "errorMessage": "Handler 'handler' missing on module 'index'"
    }
    

    This is my function which is having business logic. My javascript file name is index.js.

    Whenever I test this code on aws lambda, It gives following log(failed).

    This is a screenshot of the Amazon Lambda Upload Site: enter image description here