AWS Lambda:失败,错误 [Errno 13] 权限被拒绝:'/var/task/lambda_function.py

问题描述

我使用 Gitlab 进行了以下 CI/CD 设置,用于部署我的 lambda 函数

enter image description here

当它运行时没有发生错误,但是当我尝试执行该函数时,我收到“失败,错误 [Errno 13] 权限被拒绝:'/var/task/lambda_function.py”错误。有没有办法解决这个问题?我发现了 this 文章,其中 aws 建议使用 chmod 授予文件权限,但没有帮助。

顺便说一句:我在我的机器上本地运行了相同的命令,运行该函数时没有发生错误

提前感谢您的回答。

更新:下面的 CloudWatch 日志

enter image description here

解决方法

我认为您在 stackoverflow 上也遇到了类似的问题,例如 this 一个和另一个 here。 您必须手动设置 zip 文件的权限。

引用错误

zip 存档保留文件权限,因此如果您有 644 权限文件,将其压缩并备份,您会得到 644 该文件的权限。

所以要解决这个问题,只需设置预期的权限 在通货紧缩之前,在 Lambda 的情况下,像 755 这样的东西就可以了。