在测试部署包时,我在AWS控制台上收到错误:
{
"errorMessage": "Unable to import module 'lambda_function'"
}
deployment-package.zip包含:
我相信我们已正确遵循包装说明:
在MacOS上,我使用Python2.7代码创建了.zip文件:
$ zip ../path/to/my/deployment-package.zip ./my_function.py
然后将virtualenv的模块添加到其中:
$ cd ../path/to/my/py2.7_virtualenv
$ zip -ru ../path/to/deployment-package.zip *
结果是.zip文件:
$ ls -l
$ -rw-r--r-- 1 user staff 9036477 Feb 26 00:15 deployment-package.zip
包含代码和模块:
$ unzip deployment-package.zip
...
$ ls
deployment-package.zip XlsxWriter-0.9.6.dist-info
_markerlib pip
boto3 pip-7.1.0.dist-info
boto3-1.4.4.dist-info pkg_resources
botocore python_dateutil-2.6.0.dist-info
botocore-1.5.18.dist-info s3transfer
concurrent s3transfer-0.1.10.dist-info
dateutil setuptools
...
答案 0 :(得分:1)
我的ls输出中没有看到.py文件。应该有一个py文件来匹配“Lambda函数处理程序和角色”下指定的处理程序。
答案 1 :(得分:0)
解决。步骤是正确的。
问题出在正在使用的软件包中,它是存储在S3中的旧版本。 测试运行时,新版本正在上传。