我正在研究一个需要导入SciPy和pyarrow. 由于有一个官方的 AWS 层包含SciPy-AWSLambda-Python38-SciPy1x:14它在函数中使用。pyarrow包含在awswrangler已经创建的层中,以在先前制作的 Lambda 中使用。
AWS SAM用于打包和部署函数。awswrangler现在,将层的内容复制到可以正确部署和执行的部署包目录与函数中同时使用SciPy和层之间存在一个非常有趣的区别awswrangler。如果两个层都使用,执行sam deploy会出现以下错误:
Layers consume more than the available size of 262144000 bytes (Service: AWSLambdaInternal; Status Code: 400; ...
需要注意的一点是,awswrangler层内容复制到部署包时,与现有内容没有重叠,所以部署包并没有变小,因为它已经包含了一些awswrangler使用的包。