【发布时间】:2017-12-22 17:23:08
【问题描述】:
我有一个运行 AWS 的非常基本的 node.js 示例,我需要修改代码以添加对“请求”模块的依赖项。
我了解到您需要将其打包成一个带有必要节点模块的 zip 文件。
我下载了 index.js 并添加了代码。我创建 package.json:
{
"name": "function",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"zip": "zip function.zip package.json *.js node_modules"
},
"dependencies": {
"aws-sdk": "^2.4.10",
"request": "^1.0"
}
}
我使用 npm install 来引入依赖项。这使用模块及其依赖项填充了 node_modules 子文件夹。
然后我只是将其压缩,但 AWS 控制台不会上传它。
这个 Q&A Creating a lambda function in AWS from zip file 告诉我不是正常压缩,而是像这样使用 npm: ` npm 运行压缩包
> function@1.0.0 zip /Users/paul_tanner/Desktop/index
> zip function.zip package.json *.js node_modules
adding: package.json (deflated 36%)
adding: index.js (deflated 73%)
adding: node_modules/ (stored 0%)`
在尝试上传和测试之前,我打开它以检查是否包含依赖项。他们不是。
为了它,我还尝试上传生成的“function.zip”。同样,AWS Lambda 不会上传它。
那么问题是如何创建和上传具有依赖关系的 AWS Lambda 函数?
【问题讨论】:
标签: node.js amazon-web-services lambda dependencies zip