我有一個zip文件,其中包含以下結構(這是歸檔的根,不是嵌套在頂級文件夾中,我知道它是錯誤的常見原因爲AWS-S3-拉姆達部署):AWS Lambda包部署的函數require()的相對路徑,找不到
- support/
- shared.js
- one.js
- two.js
,然後在one.js和two.js:
var shared = require("./support/shared");
// ...
當我在本地運行這段代碼,它的工作原理。我使用aws-sdk將zip文件上傳到AWS-S3,然後使用aws.lambda.createFunction()創建一個具有該名稱和處理程序以及所有內容的函數。創建的函數會顯示在我的Lambda儀表板中,但是當我測試它時,我會得到"Cannot find module './support/shared'"
。我也試過var shared = require("./support/shared.js");
,並給出"Cannot find module './support/shared.js'"
。
這是運行時間node6.10
。文件名大小寫正確的區分大小寫的lambda。
不應該這個工作?什麼是竅門?
有沒有一種方法可以驗證Lambda正在處理的文件結構,以顯示額外的./support/shared.js
文件實際上是將它加到了工作目錄還是它使用的任何文件?