在使用AWS Lambda时,使用node_modules的备忘录
我在使用AWS Lambda和Node.js时遇到了一些困难,尝试使用node_modules中的库,因此我想将其作为备忘录记录下来。
接下来,我将根据圣诞日历的顺序,写一写输出的重要性。
引用整个 node_modules 文件夹
前提条件- 提前设定的一些必要条件或限制,是某个行动或事物发生的前提。
-
- npm コマンドが使える環境があること
ローカルマシンでも問題ありません
简单的步骤
-
- 准备目录
-
- 安装所需的库
-
- 将目录压缩成zip文件
-
- 注册图层
-
- 在Lambda函数中添加图层
- 在Lambda函数的代码中加载库
准备目录
一开始就非常重要。可在任何位置(甚至本地机器上)创建,但目录名很重要。
创建一个名为 “nodejs” 的目录。
$ mkdir nodejs
关于这个问题,文件中有说明。
安装所需的库。
在生成的目录中,运行命令以安装库。
$ cd nodejs
$ npm i <ライブラリ名>
在这里,我们先来重新审视一下nodejs目录的结构。
只要按照以下方式组织,就可以了。
nodejs/node_modules/<ライブラリ名>
将目录压缩成zip文件。
将nodejs目录压缩为zip文件。
生成的zip文件可以使用任何名称。
如果是在Windows环境中,即使没有命令也可以生成zip文件,但若在无法生成的环境下,则可以使用命令进行压缩。
$ zip -r lib.zip ./nodejs
图层注册
将生成的zip文件注册到AWS Lambda的层级中。
使用Lambda函数添加层
在编辑Node.js Lambda函数的界面底部,有一个设置图层的位置。选择”添加图层”。
在Lambda函数的代码中加载库。
如果能够添加图层,就可以从代码中进行读取。
到此结束!辛苦了!
const HOGE = require('<ライブラリ名>');
输出的原因
接下来我将谈论关于产出的好处。
我个人认为最重要的是能够整理和保存信息的能力。
这次我总结了使用AWS Lambda时遇到的问题并作为文章发布。
在适应过程中,我一直在摸索并不断尝试。
换句话说,现在的信息是一团糟。
即使找到了解决方法,如果不立即输出的话会发生什么呢?
我想很可能会忘记并在下次类似情况出现时再次检索同样的事情。
当人编写的代码在几个月后看的时候,人类会立刻忘记并觉得:“这谁写的屎一样的代码?”
假设这次,我们将在Qiita上发布文章。
由于希望让更多人看到这篇文章,我们会考虑如何写这篇文章。
(这里的“更多人”也包括未来的我自己)
通过思考这些问题,可以整理出本次获得的信息。这些混乱的信息将会被整理清楚。
将信息整理并保存在一起,我们可以在之后回顾,或者向更理解该领域的人寻求意见。
互相交流意見对个人的成长有很大的帮助。如果能够通过表达自己和他人的成长而使人高兴的话,那就太好了。