re: Automating My Newsletter Generation with MailChimp, Google Sheets, and AWS Lambda VIEW POST

TOP OF THREAD FULL DISCUSSION
re: I am fairly new to node.js. If anyone had some quick tips, would appreciate it. I am getting an error loading the handler module. I thought it was...
 

Vincent,

This error is typically seen when running AWS Lambda and you have defined the handler for the Lambda incorrectly. For example handler.js defines the following Lambda entry point:

module.exports.generateNewsletter = (event, context, callback) => {
  //some code
}

Therefore the handler must be defined for the Lambda function as handler.generateNewsletter as you see in the serverless.yml file.

So I suspect the error you are seeing is that either A) You have handler.js but a different name for the function entry point that is not generateNewsletter or B) Your entry point is not in a file called handler.js.

 

Will give this review / fix a try in the next few days. Off to buy your book and videos. May I suggest an AWS Lambda for noobs book next if you are taking votes? Thanks for the excellent fast response!

Best, V.

I am really stumped. I git cloned the repo exactly as is so I don't see why the function names would be messed up. Everything is in its respective original directory/folder location from the original repo. And I verified permissions were readable+writeable by all. Still can't find handler.js which is right there in the same dir as serverless.yml. Node.js is 8.10 and I updated npm to the latest while trying to eliminate factors. I will re-verify everything from the article.

It's got to be something else. I tried a basic 'hello world' exercise from the serverless.com site and get the proper response. Both serverless.yml and handler.js are in the same dir. Similar to this repo when I git clone it. Since I have not changed the name of the function or its placement, I suspect some component of handler.js. Learning more about troubleshooting lambda quickly. To clarify, even though when we download the authentication file from google and a name is assigned, we have to rename it to g-auth.json and have it in the root dir? I have tried it in a few places.

Sounds like you probably didn't run npm install before running serverless deploy. This is required in order to deploy the necessary node_modules that contain the dependencies needed for the Lambda to run. I have updated this blog post to reflect that.

Thanks Kyle. I retried with the npm install and still didn't have any luck. After grubbing around google, I decided to give package.json a look and there were some babel dependencies that crept in. I have no idea how since I git cloned your repo but after doing a diff on the files and replacing with the original code, I have eliminated that error.

Now I am getting a undefined type error when it reads the 'text' column from the spreadsheet. Good crash course on node.js troubleshooting. ;-)

code of conduct - report abuse