微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的 .zip 文件大小为 45mb,但它显示了 AWS 层上大文件大小的错误

如何解决我的 .zip 文件大小为 45mb,但它显示了 AWS 层上大文件大小的错误

我正在使用无服务器框架进行部署。当我们在 AWS 上部署它时,它会抛出以下错误。但我的 zip 文件大小为 45mb,本地解压后大小为 130mb。

无服务器错误----------------------------------------

发生错误:SharedLambdaLayer - 解压缩后的大小必须小于 262144000 字节(服务:AWSLambdaInternal;状态代码:400;错误代码:InvalidParameterValueException;请求 ID:27f9378e-b9ea-42c5-ad73-a3b7cf9d5>。

这是我的环境 操作系统:win32 节点版本:12.19.0 框架版本:2.35.0 插件版本:4.5.3 SDK版本:4.2.2 组件版本:3.8.2

以下是我的 .yml 文件内容

service: rxd-layers
frameworkVersion: '2'
useDotenv: true
unresolvedVariablesNotificationMode: error
configValidationMode: error
plugins:
serverless-plugin-git-variables
serverless-dotenv-plugin

custom:
stageVariables:
gitBranch: ${opt:stage,git:branch}

package:
include:
- /nodejs/node_modules/shared # no need to add this yourself,this plugin does it for you
exclude:
- /nodejs/node_modules/**
- /nodejs/shared/**

provider:
stage: ${opt:stage,git:branch}
name: aws
runtime: nodejs12.x
region: ${env:AWS_REGION_CRED,'us-east-1'}
versionFunctions: true
lambdaHashingVersion: 20201221


layers:
shared:
path: shared
description: This layer is for node packages of all services


resources:
Outputs:
SharedLayerExport:
Value:
Ref: SharedLambdaLayer
Export:
Name: SharedLambdaLayer

解决方法

这是由于 geo-tz 库造成的。它在 AWS 上的 255MB 环境中为 geo-tz 创建的解压缩大小几乎超过 linux,这是主要问题。所以我只是卸载了这个包。之后我的层部署正确。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。