AWS Lambda Bootstrap errors



我正在尝试在AWS Lambda上运行微服务,因为它需要NumPy和pymysql依赖项,所以我遵循了此处概述的步骤

我在将依赖项和代码上传到 S3 并尝试运行我的测试函数时收到此错误。

Traceback (most recent call last):
File "/var/runtime/awslambda/bootstrap.py", line 538, in <module>
main()
File "/var/runtime/awslambda/bootstrap.py", line 528, in main
run_init_handler(init_handler, invokeid)
File "/var/runtime/awslambda/bootstrap.py", line 94, in run_init_handler
init_handler()
TypeError: 'module' object is not callable

关于可能发生的事情的任何想法?它在我的 EC2 实例和本地计算机上运行良好

Lambda 现在有"层",现在可以/应该帮助你。

但对于未来的其他人,我也有完全相同的问题。

我刚刚完成了将单文件 Lambda Python 模块重构为一组文件,其中包括init.py.事实证明,如果您有一个名为init.py的模块位于包中的__init__.py旁边,则 AWS 引导进程的某些部分无法处理导入或与导入相关的错误;文件在导入过程中是好的(函数超时(还是坏的(上面的回溯(。

我将init.py重命名为connect.py(因为我只为按需连接设置连接信息(,然后停止查看 OP 的回溯,并能够继续前进。

我没有尝试重现init*.py模块名称的变体。

非常奇怪的边缘情况。

我也在无服务器应用程序中遇到过这个问题,事实证明这取决于处理程序在serverless.yaml中的定义方式。引导程序将获取此值并尝试执行它。就我而言,它没有指向我的 python 文件中的函数,而是指向文件中的模块之一。

functions:
some_lambda:
handler: src/somefile.jwt

somefile.py 年,有 jwt 的进口。代码旨在调用 funcjwt_auth但最终尝试调用 jwt 模块,导致 OP 看到的错误。

最新更新