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 函数返回模块“索引”上缺少的处理程序“处理程序”的主要内容,如果未能解决你的问题,请参考以下文章