インドカレーファンクラブ

パソコン、カメラ

localstackでsqsとlambda(kotlin)を動かしたりlog4j2とslf4jでログ吐くサンプル

概要

タイトルがおおよそ全て(ラノベ

localstackでAWS SQS, Lambdaをつくる
SQSとLambdaを紐付ける
shellscriptでSQSにメッセージを送り、LambdaはSQSからメッセージを吸い上げて起動する
※ SQSなしでLambda単体をつくり起動するパターンもつくった

Lambdaのfunctionはkoltinで書いてロギングはLog4j2とSlf4j
gradle(groovy)で頑張る

ついでにLambdaの単体テストもJUnit5で書いた

コード

https://github.com/0mmadawn/localstack-sqs-lambda

だいたいこれ読めばわかるのであんまり書くことがないけど一応メモ

大変だったこと

  • Log4j2とSlf4jのことなんも知らなかった
    • Log4jとLog4j2の違いも知らんかった
  • gradleがよくわからない(深刻に)
  • localstackのログ出力がよくわからない
    • 最終的にLS_LOGではなくてDEBUGの方で解決させたけど、特にそのへん設定せず親切にログが出ると思っていると痛い目を見る
  • とにかく最初からエラーの物量がたくさんだった
  • 小さい状態から徐々に大きくしたほうがいい...(仕事ではそうもいかなかった)

参考

リポジトリに書いてあるのは省略

Lambdaいろいろ

Log4j2 + Slf4j

Lambdaのテスト

JUnit 5