簡體   English   中英

nodejs中的AWS-SDK Lambda函數無法找到端點緩存模塊

[英]AWS-SDK in nodejs Lambda function cannot find endpoint-cache module

我一直在重構我們的一些AWS lambda函數,並且在這個最新版本中,我收到以下錯誤:

"Payload": "{\"errorMessage\":\"Cannot find module '../vendor/endpoint-cache'\",\"errorType\":\"Error\",\"stackTrace\":[\"Function.Module._load (module.js:474:25)\",\"Module.require (module.js:596:17)\",\"require (internal/module.js:11:18)\",\"Object.<anonymous> (/var/task/node_modules/aws-sdk/lib/core.js:76:18)\",\"Module._compile (module.js:652:30)\",\"Object.Module._extensions..js (module.js:663:10)\",\"Module.load (module.js:565:32)\",\"tryModuleLoad (module.js:505:12)\",\"Function.Module._load (module.js:497:3)\"]}"

該模塊位於aws-sdk節點模塊的vendor文件夾中。 我檢查了部署工件以確保該文件夾存在,並且我已嘗試降級到之前使用的舊版aws-sdk。

package.json中的依賴項:

"dependencies": {
    "aws-sdk": "^2.59.0",
    "moment": "^2.22.2",
    "underscore": "^1.8.3"
  },

構建服務器運行npm-install然后運行

$path = Get-Location
$thisProject = "$($path)\pathToProject\*"

Compress-Archive -Path $thisProject -DestinationPath thisProject.zip

被困在這一段時間,所以任何幫助都非常感謝。

幾個月前我遇到了這個問題。 結果我需要確保包鎖文件包含在項目中並設置了aws-sdk版本

我昨天遇到了這個問題,我通過刪除package.jsonaws-sdk並刪除+重新安裝我的node_modules文件夾解決了這個問題。 希望這能解決你的問題。

我認為aws-sdk默認已經包含在內。

在Lambda函數中指定所需SDK的推薦方法是使用所需版本創建lambda圖層。 請參見: https//aws.amazon.com/blogs/compute/working-with-aws-lambda-and-lambda-layers-in-aws-sam/

我實際上遇到了同樣的問題。 在我的情況下,原因是在Windows上運行的Compress-Archive功能。 如果我使用Compress-Archive打包lambda,那么Lambda調用將失敗並顯示上面的錯誤。 但是,如果我解壓縮.zip並使用常規Windows“發送到壓縮目錄”打包 - 一切正常。 在PowerShell github空間中發現了一些類似的問題 ,這讓我覺得這是一個常見的問題。

PowerShell Core的最新版本之一修復了這個問題(不確定經典的PowerShell)。 我不確定解決這個問題的確切版本,但它在v.6.1中存在,並且在v.6.2.2中它已經消失了。

暫無
暫無

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

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