首页 > 解决方案 > 在 lambda 层中导入库

问题描述

我想在我的 AWS Lambda 中导入 jsonschema 库以执行请求验证。我没有将依赖项与我的应用程序捆绑在一起,而是希望通过 Lambda 层来做到这一点。我将所有依赖项压缩在venv/lib/python3.6/site-packages/. 我将其作为 lambda 层上传,并分别使用publish-layer-versionaws lambda update-function-configuration命令将其添加到我的 aws lambda 中。zip 文件夹的名称为“lambda-dep.zip”,所有文件都在其下。但是,当我尝试在我的 lambda_function 中导入 jsonschema 时,我看到以下错误 -

from jsonschema import validate
{
  "errorMessage": "Unable to import module 'lambda_api': No module named 'jsonschema'",
  "errorType": "Runtime.ImportModuleError"
}```

Am I missing any steps are is there a different mechanism to import anything within lambda layers?

标签: pythonpython-3.xamazon-web-servicesaws-lambdaaws-lambda-layers

解决方案


您要确保您的 .zip 在解压缩时遵循此文件夹结构

python/lib/python3.6/site-packages/{LibrariesGoHere}。

上传该 zip,确保该层已添加到 Lambda 函数中,您应该一切顺利。

这是对我有用的结构。


推荐阅读