首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解压缩大小必须小于262144000字节- AWS错误

解压缩大小必须小于262144000字节- AWS错误
EN

Stack Overflow用户
提问于 2020-01-27 13:05:07
回答 6查看 40.1K关注 0票数 12

我尝试使用servless/lambda函数AWS上传我的应用程序,但我遇到了以下问题:

发生错误: AppLambdaFunction -解压缩大小必须小于262144000字节(服务: AWSLambdaInternal;状态代码: 400;错误代码: InvalidParameterValueException;请求ID: 8ea0d887-5743-4db1-96cd-6c5efa57b081)。

解决这个问题的最好办法是什么?

查看我的依赖关系:

代码语言:javascript
复制
  "dependencies": {
    "ethereumjs-tx": "^1.3.7",
    "aws-sdk": "^2.4.52",
    "body-parser": "^1.18.3",
    "compression": "^1.7.4",
    "consign": "^0.1.6",
    "cors": "^2.8.5",
    "express": "^4.16.4",
    "helmet": "^3.16.0",
    "moment": "^2.24.0",
    "openzeppelin-solidity": "^2.3.0",
    "serverless": "^1.48.2",
    "serverless-http": "^1.9.1",
    "serverless-offline": "^4.9.4",
    "truffle": "^5.1.9",
    "truffle-hdwallet-provider": "^1.0.17",
    "web3": "^1.2.5-rc.0"
  },

Serverless.yml:

代码语言:javascript
复制
provider:
  name: aws
  runtime: nodejs8.10
  stage: v1
  region: us-east-1
  timeout: 30
  memorySize: 512
  package:
    excludeDevDependencies: true
    exclude:
      - .git/**
      - .vscode/**        
      - venv/**

functions:
  app:  
    handler: handler.run
    events:
      - http:
          path: /
          method: ANY
          cors: true
      - http:
          path: /{proxy+}
          method: ANY
          cors: true

plugins:
  - serverless-offline  
EN

回答 6

Stack Overflow用户

发布于 2020-08-12 18:52:04

在您的exclude文件中使用serverless.yml指令。对于Python,我使用它的方法如下:

代码语言:javascript
复制
package:
  exclude:
    - node_modules/**
    - venv/**

在发送到AWS之前,构建过程将将它们排除在构建之外。

提示我找到在这个问题上了。这个指令的文档是详见

票数 29
EN

Stack Overflow用户

发布于 2020-01-28 02:09:12

您可以使用模块绑定器来打包代码。

使用像webpack这样的模块绑定器

您可以考虑使用像serverless-webpack这样的插件。serverless-webpack插件正在使用webpack构建项目,它将只包含运行应用程序所需的最小文件。它将不包括整个node_modules目录。这样您的部署包就会更小。

关于Lambda层使用的一点注记

正如其他人提到的,您可以使用这些层,并将一些库和代码移到该层。层主要用于在函数之间共享代码。解压缩部署的包(包括层)不能超过250 The。

希望这能有所帮助。

参考文献:

https://github.com/serverless-heaven/serverless-webpack

https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html#configuration-layers-path

票数 2
EN

Stack Overflow用户

发布于 2022-03-10 06:28:45

我已经成功地使用serverless-esbuild插件解决了这个错误消息,并按照下面的serverless.yml配置了它

代码语言:javascript
复制
service: service_name
frameworkVersion: '3'
provider:
  name: aws
  runtime: nodejs12.x

plugins:
  - serverless-esbuild

custom:
  esbuild:
    bundle: true
    minify: false
    sourcemap: true
    exclude: 'aws-sdk'
    target: node14
    define:
      'require.resolve': undefined
    platform: node
    concurrency: 10
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59931761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档