1. 首先准备Python Package
这里使用Anaconda 来创建Python Package 包
1.1 启动 Anaconda Prompt
image.png
1.2 创建一个干净的Environment 并激活
conda create --name my_env
conda activate my_env
1.3 安装Python 和 PIP
注意:python 版本最好和Lambda的Python版本对应
conda create -n myenv python=3.6
conda install -n myenv pip
1.4 安装需要的Python 包
最好每次安装少量的包,因为Lambad 对Layer的尺寸有限制, 而每个Lambda 可以使用5个Layer。分开安装是比较好的策略
pip install pandas
1.5 生成 Zip 包
找到 conda 新环境 的 (my_env)的文件夹,Windows 一般在 :
C:\Users\ your_user_name \.conda\envs
evns 下一般有多个路径, 找到新建evn 的名字。将 Lib 下 site-packages 文件夹打成zip 包。
该Zip包就是要上传到Layer 的压缩包。
关于文件尺寸
以下限制至2020-11-01有效,以后可能会发生变动。
zip包如果大于 50M, 则需要先上传到 S3。
压缩前的文件夹整体大小不能大于 250M
一个 Lambda Fucntion 所有Layer 加起来不能大于 250M
2. 上传Zip 包
2.1 如果Zip包大于50M,需要先上传至S3。
2.2 进入Layer 界面
在Lambda 中选择Layers, 进入Layers 页面后, 选择
“Create layer”
image.png
2.3 导入Layer
在上传页面,上传Zip(如果是S3导入, 填写S3上Zip 文件路径)
image.png
成功后, 可以在Layer 列表中看到刚刚创建的Layer
3. 在Lambda Function 中添加Layer
选择一个Function , 点击 “Add a layer” 即可
image.png
Layer 是针对某个具体的Function 加的,Function可以根据不同的功能,选择合适的Layer。
个人感觉Lambda 的Layer就像是 App 的动态加载库。