AWS LambdaをNode.jsで量産アレコレ
概要
AWS LambdaをNode.jsで書こうと思ったときに、良く思うのが、、、
- AWS SDKがPromise前提で入れ子が深くなりがち
- 継承使って汎用共通処理とオーバーライド使いたいなぁ~
である。
コールドスタート対策などで、javaでの実装は圧倒的に不利ってことで、java屋がNode.jsでLambdaを書こうと思うと、きっと同じ事を思うに違いない。(偏見)
という事で、上記が出来る汎用ソースをgithubに公開してみました。
(参考投稿)
Lambdaのコールドスタートを改めて整理する
index.js の処理構造
として、業務処理を全て外だししてシンプルにする事で、汎用的なindex.jsにする。
業務処理の処理構造
業務処理の継承ツリーは3階層でサンプルは書いてあります。
大体、3階層作ってあれば、大抵の業務は汎化できる。(これまた偏見)
githubの公開場所
に置いてあります。
イメージ図は、別のサンプルですが、クリックする場所は一緒です。
ダウンロードしたZIPファイルを解凍すると、Lambda登録用のZipファイルが出てきますので、実行する場合は、それをLambdaとして登録してください。
設定可能な環境変数
変数名 | 変数値 |
---|---|
LogLevel | ログの出力レベルを(0~4)までの間で設定する |
autoFunctionRetry | 省略したらエラー時再実行はしない。0より大きい値(数字)を設定すると、その回数、再実行を行う |
他サンプルソース
具体的な、
- API Gateway + Lambda + DynamoDB のサンプルソース
- DynamoDB Stream + Lambda + SNS のサンプルソース
などは、ブログにて公開中です。