簡體   English   中英

將模塊從 S3 動態加載到 node.js AWS lambda 中

[英]Loading modules into node.js AWS lambda dynamically from S3

我設法做到了這一點,但我不確定這是否是正確的方法。 我需要將模塊加載到 node.js (12.x) AWS lambda 中。 我可以加載許多可能的模塊,並希望動態選擇它們,而不是將所有模塊都包含在 lambda zip 中。 所以我在 lambda 中執行以下操作:

  1. 從 S3 加載文件並使用 fs.writeFile 保存到 /tmp/my_module
  2. 要求(“/tmp/my_module”)

這有效,但似乎有點混亂。 有沒有其他選擇? 理想情況下,我希望使用 import() 而不是 require(),但我知道無法在 AWS lambda 中啟用此功能。

AWS 讓我們創建“ ”。

層是包含庫、自定義運行時或其他依賴項的 ZIP 存檔。 借助層,您可以在函數中使用庫,而無需將它們包含在部署包中。

層是包含庫、自定義運行時或其他依賴項的 ZIP 存檔。 通過層,您可以在函數中使用庫,而無需將它們包含在部署包中

但是,層需要在開發時鏈接到 lambda。 通過 AWS Cli、Lambda GUI 或無服務器框架。

它們可以使用 zip 文件或從 S3 存儲桶中的 .zip 文件創建。

NodeJS層的結構如下:

Node.js – nodejs/node_modules, nodejs/node8/node_modules (NODE_PATH)

適用於 Node.js 的 AWS X-Ray 開發工具包示例

xray-sdk.zip
└ nodejs/node_modules/aws-xray-sdk

暫無
暫無

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

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