はじめに
Lambdaのチュートリアルで作成するHello,world!を表示させる関数は、実装からデプロイをAWSコンソール上で完結します。
しかし、ビルド時に必要なモジュールがある場合は、ファイルサイズが大きくなってしまうため、ZIPによるコードのアップロードが必要になります。
そのときに少しハマってしまったので、この記事で解説したいと思います。
(AWSコンソールのUIはかなりの頻度で変更されて、戸惑うことがあるかもしれないので、画像を使用せずに解説します。)
アップロードまでの手順
- 新規フォルダを作成、デプロイしたいindex.jsとpackage.jsonを格納
-
node -v
でnodeのバージョンを確認 -
$npm install
でビルド -
$zip -r project.zip *
でzipを作成 - project.zipをAWSコンソール上でアップロード
- 手順2で確認したnodeのバージョンにランタイムのバージョンを合わせる。
注意事項
- package.jsonには、aws-sdkモジュールが必須
- zipコマンドは、index.jsがある階層で実行(Runtime.HandlerNotFoundというエラーが出ます。原因はパスが通っていなくて、ハンドラが見つからないこと)
さいごに
今回は、ZIPによるコードのアップロード手順を解説しました。
この解説により、たくさんあるNode.jsのモジュールを使って、実装できます。(パッケージサイズは、250MBまで)
ぜひ活用してみてください!!!