AWS 为Lambda函数添加层(包,模块)

本文详细描述了如何在AWSLambda中使用非官方Python库(如Redis),包括创建虚拟环境、安装模块、打包层文件并将其添加到Lambda函数的过程,以及处理可能遇到的版本兼容性问题。
摘要由CSDN通过智能技术生成

在编写Lambda中我们经常使用不是AWS官方提供的包,比如redis或者是其他模块,AWS 并没有提供相关的连接,这样子我们就只能通过本地下载模块,打包到我们的AWS账户添加到lambda中了

以下是操作演练(环境是python)

在Linux服务器中,下载好python3 和pip,用于下载我们的模块

yum -y install python3 pip

下载完成以后查看python3版本

可以看到这里显示是3.9的版本

使用python3创建一个虚拟环境这样子更方便我们打包

python3 -m venv mylayerenv

现在加载虚拟环境

source mylayerenv/bin/activate

然后创建我们的层文件夹(有格式要求,以下就是格式要求)

mkdir -p layer/python/lib/python3.9你的版本/site-packages/

安装模块

pip install redis

将虚拟环境里面的全部文件cp到我们的层文件夹中

cp -r /root/mylayerenv/lib/python3.9/site-packages/* layer/python/lib/python3.9/site-packages/

进入层文件夹中查看文件是否拷贝成功

 成功拷入

现在我们打包python文件夹为zip

zip -r redis_layer.zip python/

成功打包已经

通过工具拉取下来,然后转到aws lambda中

点击层

 点击创建层

上传我们打包好的层

 点击创建即可

创建完成以后复制我们的arn

 返回到我们的lambda函数中

选择需要这个模块的lambda

点击代码下拉最后

 点击添加层

 选择指定arn粘贴我们的arn

 点击添加即可

然后测试运行

如果还是报错找不到模块,可以试试看吧lambda的运行时的版本设置为和我们打包环境的python版本一致(我报错的时候就是这样子换了就好了)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值