在NodeJS中试用应用程序。具有以下进口
var https = require('https'),
aws4 = require('aws4')
但是,出现错误
"errorType": "Runtime.ImportModuleError",
"errorMessage": "Error: Cannot find module 'aws4'",
使用npm install aws4
安装aws4后,在桌面上本地执行代码时代码有效。在AWS Console Lambda编辑器中编辑Lambda脚本时如何安装模块?
答案 0 :(得分:2)
您无法从Lambda的控制台添加模块。您将必须使用程序包管理器(例如npm或yarn)并安装所需的依赖项。这意味着在将函数上传到AWS Lambda之前,请在package.json
中声明它们并运行npm/yarn install
。将生成一个node_modules
文件夹,其中包含所有打包的依赖项。压缩并上传。
您的package.json
应该看起来像这样:
{
"name": "your-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"aws4": "^1.8.0",
"https": "^1.0.0"
}
}
如果您想简化部署工作,则可能需要研究AWS SAM和Serverless Framework。
请记住,如果您添加的软件包过大(并且过大,根据docs,对于AWS的控制台来说,它只有 2MB 3MB),您可能会丢失可以通过AWS控制台内联编辑代码,这意味着您必须在上载代码之前使用自己的编辑器/ IDE来编辑代码。