AWS 通过 Lambda Layer 的方式部署依赖项

什么是 AWS Lambda Layer(层)

以 Python 依赖项举例,

更多语言,对应的文件夹名称和释放路径,参见 打包 Layer 文件的路径

字体资源,
AWS Lambda 添加字体依赖项

可以通过网页控制台手动添加层,
或通过 AWS CLI 命令:
aws lambda publish-layer-version --layer-name your_layer_name --compatible-runtimes python3.7 python3.8 python3.9 --zip-file fileb://layer.zip

参数解释:

  • your_layer_name 层的名称
  • python3.7 python3.8 python3.9 根据项目填写一个或多个 runtime,这里示例了3个
  • fileb://layer.zip 要上传的压缩包文件,前面必需加fileb://

#TODO 自动化脚本

  • 打开「Lambda 控制面板」,「函数」,点选要配置的函数
  • 在函数的配置页,「Designer」,点击「Layers」
  • 添加层,自定义层,选择刚才创建的层和版本
  1. 检查文件路径
    添加 Layer 后,第三方库文件的路径应该是在:/opt/python/ 目录下。
    可以在函数中查看该路径中的文件是否正确
import os
print(os.listdir("/opt"))
print(os.listdir("/opt/python"))
  1. 引用第三方库
    如在本地一样,在函数代码中 import 第三方库。看能否正常运行。