我也使用sam cli来构建和部署AWS Lambda:
sam build命令遍历您的功能 应用程序,查找清单文件(例如requirements.txt),该清单文件 包含依赖项,并自动创建部署 您可以使用sam软件包和sam部署到Lambda的工件 部署命令。
很棒的是,我可以使用选项标志--use-container
来构建具有在类似AWS Lambda的Docker容器内本地编译依赖项的函数。
AWS Lambda层如何?
我有一个功能:
CreateImagesLambdaFunction:
Type: AWS::Serverless::Function
Properties:
Runtime: python3.7
Handler: lambda_function.create
CodeUri: ./functions/image_handler/
...
Layers:
- !Ref LayerPillow
使用具有本地编译依赖关系的层(因此必须在linux上安装):
LayerPillow:
Type: AWS::Serverless::LayerVersion
Properties:
...
ContentUri: ./functions/layer_pillow/
我可以通过使用amazonlinux:latest
docker映像安装依赖项并将其复制到我的存储库中来解决此问题,但是很好奇SAM是否支持此功能