繁体   English   中英

AWS Lambda 导入模块失败

[英]AWS Lambda import module failure

我在导入要在 AWS 上使用的模块时不断遇到问题。

具体来说,Coinbase 库。

我遵循了 AWS Lambda 文档,并创建了一个名为 packages 的文件夹,将所有库安装到该文件夹​​中,然后用我的函数将其压缩。

如果我注释掉所有 Coinbase 代码和导入语句,我就可以使该函数正常工作,这样我就可以知道压缩和上传是正常的。

具体错误是

{
  "errorMessage": "Unable to import module 'lambda_function': No module named 'coinbase'",
  "errorType": "Runtime.ImportModuleError"
}

我可以看到 coinbase 库位于包文件夹中,所以我不确定为什么 AWS 无法访问它。

我试过 chmod 444,仍然没有成功。

有没有人有解决像这样不在 lambda 上运行的包的经验?

您需要启动 EC2 来创建层。 查看实例的 AMI 的运行时 例如 Python 3.6 使用 AWS Linux 1。

在这种情况下,您需要安装 Python 3.6 并执行以下命令:

sudo su
mkdir -p temp/python
cd temp/python
pip-3.6 install coinbase -t .
cd ..
zip -r9 ../coinbase .zip .

例如使用 SFTP 解压缩此 zip 并上传到 AWS Lambda 层。 您的图层将完美运行。

将图层附加到您想在其中使用该包的函数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM