python - 在 lambda 层中导入库
问题描述
我想在我的 AWS Lambda 中导入 jsonschema 库以执行请求验证。我没有将依赖项与我的应用程序捆绑在一起,而是希望通过 Lambda 层来做到这一点。我将所有依赖项压缩在venv/lib/python3.6/site-packages/
. 我将其作为 lambda 层上传,并分别使用publish-layer-version
和aws 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?
解决方案
您要确保您的 .zip 在解压缩时遵循此文件夹结构
python/lib/python3.6/site-packages/{LibrariesGoHere}。
上传该 zip,确保该层已添加到 Lambda 函数中,您应该一切顺利。
这是对我有用的结构。
推荐阅读
- python - PySimpleGui - 获取按钮文本
- r - 如果满足条件(相同的 ID),则循环计算列中包含字符串的行数
- c++ - VS Code 中 if 语句末尾的断点
- java - Spring Cloud Stream - 如果条件满足,如何在 SpecificRecord 中读取,否则如何在 GenericRecord 中读取
- python - Django用户模型AttributeError:'str'对象没有属性'objects'
- kotlin - 控制台输出等待 coroutineScope {} 主体完成
- r - 在R中找到线方程的值
- javascript - 在 ssh2-sftp-client 中使用 ssh 指纹
- javascript - 如何将分页数字转换为阿拉伯数字?
- flutter - 如何在颤动中缓存视频?