AWS 层 RequestEntityTooLargeException Terraform

Gab*_*pes 1 layer amazon-web-services terraform

我正在尝试部署一个大小为 99MB 的层,但收到此错误。

\n
\xe2\x94\x82 Error: Error creating lambda layer: RequestEntityTooLargeException:\n\xe2\x94\x82   status code: 413, request id: 5a87d055-ba71-47bb-8c60-86d3b00e8dfc\n\xe2\x94\x82\n\xe2\x94\x82   with aws_lambda_layer_version.aa,\n\xe2\x94\x82   on layers.tf line 68, in resource "aws_lambda_layer_version" "aa":\n\xe2\x94\x82   68: resource "aws_lambda_layer_version" "aa" {\n
Run Code Online (Sandbox Code Playgroud)\n

这是.tf

\n
resource "aws_lambda_layer_version" "aa" {\n  filename   = "custom_layers/aa/a.zip"\n  layer_name = "aa"\n\n  compatible_runtimes = ["python3.8"]\n}\n
Run Code Online (Sandbox Code Playgroud)\n

拉链位于正确的位置。

\n

小智 7

根据AWS Lambda 配额,部署包(.zip 文件存档)的大小不能超过:

50 MB(压缩,用于直接上传)

250 MB(解压缩)

此配额适用于您上传的所有文件,包括图层和自定义运行时。

3 MB(控制台编辑器)

AWS Lambda 文档中还有一段内容针对您的确切错误

一般:调用 UpdateFunctionCode 时发生错误 错误:调用 UpdateFunctionCode 操作时发生错误 (RequestEntityTooLargeException)

当您将部署包或层存档直接上传到 Lambda 时,ZIP 文件的大小限制为 50 MB。要上传较大的文件,请将其存储在 Amazon S3 中并使用 S3Bucket 和 S3Key 参数。

您应该尝试执行以下操作之一:

  1. 将当前的 lambda 层拆分为多个层
  2. 将图层 zip 上传到 S3,并在 terraform lambda 配置中指定对象