"要求未定义"在打包的AWS Lambda函数

时间:2017-08-28 17:09:57

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

我正在尝试我的第一个打包的AWS Lambda函数,该函数当前失败并返回" required未定义"在日志中。

最初在函数中,我希望得到一个简单的节点命令,使用npm模块从Google Sheet返回一个json文件。从安装了gsjson的ec2实例开始,这非常简单。我只需输入:

gsjson 1KIg84G9CXErw2bWhkEHWUkOI4CR-biFeLqCtdypaLU8 fruits.json

[![EC2 NodeJS - gsjson] [1]] [1]

https://www.npmjs.com/package/gsjson

我上传的打包zip文件包含一个index.js文件和一个节点模块文件夹,其中包含来自GitHub的google-spreadsheet-to-json npm模块。

这是index.js代码:

var gsjson = require('google-spreadsheet');

exports.handler = function(event, context) {
    'gsjson 1KIg84G9CXErw2bWhkEHWUkOI4CR-biFeLqCtdypaLU8 fruits.json';
}

更新:调整错误后,错误消息现在为

"errorMessage": "Cannot find module 'google-spreadsheet'",

更新2 - 成功:虽然npm模块名为gsjson,npm文件夹名为google-spreadsheet-to-json。要求必须参考" google-spreadsheet"。编辑上面的代码

1 个答案:

答案 0 :(得分:2)

required未定义,因为您没有定义它。另外,我希望你的意思是require。您可以查看docs了解更多信息。

var gsjson = require('google-spreadsheet-to-json');