簡體   English   中英

Nodejs 模塊化 aws-sdk v3 的大小越來越大

[英]Nodejs modularized aws-sdk v3 size getting increased

我正在嘗試減小使用 aws-sdk 的 nodejs lambda 包的大小。 這是原始 lambda package.json 文件:

{
  "name": "lambdanodejs",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "aws-sdk": "^2.784.0",
    "bluebird": "^3.7.2",
    "ioredis": "^4.19.2",
    "redis": "^3.0.2",
    "redis-clustr": "^1.7.0"
  }
}

整體大小為 57MB,54 屬於 aws-sdk。

為了減小大小,我嘗試使用特定的客戶端服務(v3 sdk)。 緊隨其后: https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-secrets-manager/package.json

{
  "name": "lambdanodejs",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@aws-sdk/client-dynamodb": "^3.7.0",
    "@aws-sdk/client-secrets-manager": "^3.7.0",
    "bluebird": "^3.7.2",
    "ioredis": "^4.19.2",
    "redis": "^3.0.2",
    "redis-clustr": "^1.7.0"
  }
}

現在 npm 安裝會導致更大的大小約為 190+MB。 同樣在 node_modules 中,我看到很多目錄在使用以前的 package.json 安裝時不存在。 這個 v3 aws-sdk 應該更輕。 我錯過了什么嗎?

謝謝!

  • 不要將 aws-sdk 推送到 lambda function。 如果您想在本地開發環境中使用它,請全局安裝它。
  • Lambda 將在運行時提供所有必要的 SDK 模塊(v2 和 v3),只需在代碼中導入它們。
  • 不要將 aws-sdk 捆綁在 zip 中。
  • 如果您的 zip 大小增加,請使用 lambda 中的層。
  • 將 node_moudles 導入 lambda 層。
  • 然后將您的代碼上傳到 lambda。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM