我正在处理Lambda函数,该函数需要导入SciPy
和pyarrow
。由于存在一个包含SciPy
-AWSLambda-Python38-SciPy1x:14
的官方AWS层,因此在函数中使用它。 pyarrow
包含在awswrangler
中,而AWS SAM已被创建为可在先前制作的Lambda之一中使用的层。
{{3}}用于打包和部署功能。现在,将awswrangler
层的内容复制到可以正确部署和执行的部署包目录之间,以及在SciPy
和awswrangler
层中同时使用{功能。如果同时使用了两层,则执行sam deploy
会出现以下错误:
Layers consume more than the available size of 262144000 bytes (Service: AWSLambdaInternal; Status Code: 400; ...
要注意的一件事是,将awswrangler
层内容复制到部署程序包时,它与现有内容没有重叠,因此部署程序包不会变小,因为它已经包含awswrangler
使用的某些软件包。
答案 0 :(得分:0)
部署软件包的大小(未压缩)必须小于250 MB(https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html)。将这两个层相加会导致262 MB,超出限制。