マネージメントコンソール上のエディタでLambdaのコードを書く際にnpmライブラリを追加したい
リポジトリ管理するほどでもないちょっとした検証用のコードを書く際にはマネージメントコンソール上のエディタで書いたほうが手軽に試せる。
aws-sdkを使った処理の場合は、デフォルトでaws-sdkが組み込まれているので index.js
のみ実装すれば問題ないが、例えば外部APIリクエストのためにaxiosを追加したい場合はひと手間加える必要があった。
コードをexport
- 「アクション」 => 「関数のエクスポート」 => 「デプロイパッケージのダウンロード」を実行
- zipファイルがダウンロードできる
npmライブラリを追加&インストール
- ダウンロードしたzipを解凍
- 解凍後のディレクトリでnpmライブラリを追加
yarn add axios
- 再度zip化
zip -r function.zip .
アップロード
- コードエディタの「アップロード元」から「.zipファイル」を選択
- function.zipをアップロード
※ 50MBを超える場合はzipファイルだとアップロードできないのでs3を使う必要がある
- アップロードが完了すると
package.json
,yarn.lock
,node_modules
がエディタに反映される
これでマネージメントコンソール上でLambdaを書く際にもnpmライブラリの追加ができた。
ちょっとした検証用であればこのやり方がシンプルだが、複雑なことをやりたい場合は最初からSAMやCDKを使って管理しておいたほうが楽そう。