AWS Lambda“无法导入模块'处理程序':没有名为处理程序的模块”

M.V*_*lee 3 python lambda amazon-web-services python-2.7

AWS Lambda'python2.7'找不到我的模块处理程序。

START RequestId: c6f97261-ba61-11e7-aeaf-bfb6aa28f7bb Version: $LATEST
Unable to import module 'handler': No module named handler

END RequestId: c6f97261-ba61-11e7-aeaf-bfb6aa28f7bb
REPORT RequestId: c6f97261-ba61-11e7-aeaf-bfb6aa28f7bb  Duration: 0.33 ms   Billed Duration: 100 ms Memory Size: 1024 MB    Max Memory Used: 19 M
Run Code Online (Sandbox Code Playgroud)

handler.py

def handler(event, context):
    return {'status': 'success'}
Run Code Online (Sandbox Code Playgroud)

资料夹结构:

  • handler.py

写在Windows 10上,使用与主机系统共享的文件夹在Ubuntu VM上使用无服务器部署。(virtualbox)

M.V*_*lee 5

原来这是一个权限问题。运行chmod 644 handler.py然后重新部署解决了该问题。

就我而言,这是由于从我的Ubuntu VM(Win10主机)上的共享文件夹进行部署而引起的。共享文件夹具有rwxrwx---权限,这对于AWS Lambda而言还不够。我需要复制文件夹并chmod在复制的文件夹中运行,然后从那里进行部署。