KotlinのコードをAWS SAMでAWS Lambdaにデプロイする
KotlinのコードをAWS Lambda上で動かすの時はzipファイルをアップロードしていたけど、AWS SAMでデプロイするようにした。思った以上に簡単だった。いいね!
今回のコードはリポジトリに置いている。
template.yamlを作る
template.yaml
CodeUriにはzipファイルを指定すれば良い。今回はcronで定期的にLambdaを叩けるようにした。
SAMでデプロイする
template.yamlからserverless-output.yamlを生成する。serverless-output.yamlを元にcloudformationを実行する。という流れになる。
./gralew clean
./gradlew buildZip
sam package \
--template-file template.yaml \
--output-template-file serverless-output.yaml \
--s3-bucket <S3_BUCKET>
aws cloudformation deploy \
--template-file serverless-output.yaml \
--stack-name kotlinLambdaStack
cloudformationで作られたリソースは、Stackを削除することで綺麗に削除できる。後始末のお掃除をしておく。
aws cloudformation list-stacks
aws cloudformation delete-stack --stack-name kotlinLambdaStack
投稿日 2020年10月25日