我使用基于 Web 的编辑器创建了多个 Lambda 函数。到目前为止,一切都很好。我现在想开始使用模块扩展这些模块(例如 Promise 的 Q)。我不知道如何将模块发送到 Lambda,以便我的函数可以使用它们。
我已读完在 AWS Lambda 中使用包和本机 Nodejs 模块 https://aws.amazon.com/blogs/compute/nodejs-packages-in-lambda/但它似乎涉及设置 EC2 并从那里运行 Lambda 函数。创建函数时有一种上传 zip 的机制,但这似乎涉及发送本地开发的函数。由于我在基于网络的编辑器中工作,这似乎是一个奇怪的工作流程。
如何简单地部署一些模块以在我的 Lambda 函数中使用?
如果不上传,则无法加载 NPM 模块.zip
文件,但实际上您可以将此过程简化为两个快速命令行。
就是这样:
将您的 Lambda 函数文件放在单独的目录中。这是因为你安装了npm
在本地为 Lambda 打包,并且您希望能够隔离和测试要上传到 Lambda 的内容。
在本地安装 NPM 包npm install packageName
当您位于您在步骤 #1 中创建的单独 Lambda 目录中时。
确保您的函数在本地运行时有效:node lambdaFunc.js
(你可以简单地注释掉这两个export.handler
代码中的行以调整代码以在本地与 Node 一起运行)。
-
进入 Lambda 目录并压缩contents, 确保not包括目录本身。
zip -r lambdaFunc.zip .
-
如果您有aws-cli
已安装,如果您想让您的生活更轻松,我建议您安装它,您现在可以输入以下命令:
aws lambda update-function-code --function-name lambdaFunc \
--zip-file fileb://~/path/to/your/lambdaFunc.zip
(上面的 lambdaFunc 部分没有引号,以防您像我一样想知道)
现在您可以点击test在 Lambda 控制台中。
-
我建议为上述两个命令添加一个简短的别名。以下是我的更长的 Lambda 更新命令:
alias up="aws lambda update-function-code --function-name lambdaFunc \
--zip-file fileb://~/path/to/your/lambdaFunc.zip"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)