我正在研究一个需要导入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
使用的包。