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中

AWS Api Gateway + Lambda + 自定义域 (Route53) 缺少身份验证令牌问题

如何使用依赖项创建AWS nodejs lambda函数

pymssql 包不适用于 aws 中的 lambda

如何在 AWS CDK 创建的 Python Lambda 函数中安装外部模块?