AWS Lambda 函数返回模块“索引”上缺少的处理程序“处理程序”
Posted
技术标签:
【中文标题】AWS Lambda 函数返回模块“索引”上缺少的处理程序“处理程序”【英文标题】:AWS Lambda Function is returning Handler 'handler' missing on module 'index' 【发布时间】: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 上传站点的屏幕截图:
【问题讨论】:
【参考方案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”
【讨论】:
以上是关于AWS Lambda 函数返回模块“索引”上缺少的处理程序“处理程序”的主要内容,如果未能解决你的问题,请参考以下文章
AWS Lambda Python 3.7:无法导入模块'lambda_function':缺少必需的依赖项['numpy']
AWS Lambda NodeJS导入返回空模块,但仅在AWS中