我有以下结构的部署包:
my-project.zip
--- my-project.py
------ lambda_handler()
然后我在配置文件
中定义处理程序路径MY-project.lambda_handler
获取错误:
'handler' missing on module
无法理解
答案 0 :(得分:3)
此错误发生了一些问题。
您要遇到的第一个问题是,如果您错误地命名该文件,则会收到此错误:
无法导入模块' lambda_function':没有名为lambda_function的模块
如果您错误地命名该功能,则会收到此错误:
Handler' handler'缺少模块' lambda_function_file':'模块' object没有属性' handler'
在仪表板上,确保将处理程序字段输入为function_filename.actual_function_name
,并确保它们在部署包中匹配。
如果只是消息更有启发性,那将是一个更简单的步骤。
adrian_praja已在aws forum中解决了该问题。他回答了以下内容
我相信你的
index.js
应该包含exports.createThumbnailHandler = function(event, context) {}
解决方案:正确指定方法调用
当Lambda的设置中node.js
调用的方法规范不正确时,会发生这种情况。
请查看要调用的方法的规范。
在上述错误消息的情况下,我尝试调用index.js
的处理程序方法,但找不到相应的方法。
呼叫处理用" Handler"设置。在配置选项卡上。
下面是设置调用index.js
的处理程序方法的示例。
答案 1 :(得分:0)
我遇到了这个问题,必须确保文件中有一个名为handler
的函数,例如:
# this just takes whatever is sent to the api gateway and sends it back
def handler(event, context):
try:
return response(event, 200)
except Exception as e:
return response('Error' + e.message, 400)
def response(message, status_code):
return message