概要
Lambda は、デプロイパッケージが大きすぎると、ブラウザ上でデプロイすることができません。
S3 からデプロイする方法もありますが、めんどくさいです。
そんなときは、コマンド一発でデプロイしちゃいましょう!
この記事は、Lambda 関数を AWS CLI でデプロイし、スクリプト化するまでのメモです。
1. ソースを圧縮する
zip
コマンドでデプロイするソースを圧縮する。
$ zip -rq my-function.zip *
2. Lambda にデプロイする
AWS CLI の lambda
コマンドで対象の Lambda 関数にデプロイする。
AWS CLI v1 を使用している場合は、aws
にすること。
$ aws2 lambda update-function-code \
--function-name <LAMBDA FUNCTION NAME> \
--zip-file fileb://my-function.zip
3. スクリプト化する
デプロイ自体は、(2) で終了ですが、毎回2コマンド叩くのもめんどくさいです。
なので、一連の流れをスクリプト化しちゃいます。
#!/bin/bash
ZIP_FILENAME="my-function"
LAMBDA_FUNCNAME="<LAMBDA FUNCTION NAME>"
echo "Zipping..."
zip -rq $ZIP_FILENAME.zip * -x deploy.sh
echo "Uploading..."
aws2 lambda update-function-code \
--function-name $LAMBDA_FUNCNAME \
--zip-file fileb://$ZIP_FILENAME.zip
echo "Cleaning..."
rm ./$ZIP_FILENAME.zip
echo "Finished!"
あとは、このファイルをデプロイパッケージの中に入れといて、次のコマンドを叩くだけです。
$ bash deploy.sh
Zipping...
Uploading...
{
...
}
Cleaning...
Finished!