AWS Lambda関数のレイヤーとか環境変数を一括変更
たくさんのLambdaを同時に開発中、共通で使ってるレイヤーに変更が入ると、コンソールからでは反映がめんどくさい!!
[2019-07-12 追記] Layerのアップロードと反映をスクリプト化してみた
AWS Lambda Layerのデプロイ (アップロード→関数への適用) をスクリプト化する - キリウ君が読まないノート
以下、元の記事
AWS-CLIをつかってコマンドラインでやった
update-function-configuration — AWS CLI 1.16.162 Command Reference
aws lambda update-function-configuration --function-name <Lambda関数の名称またはARN> --layers <LayerのバージョンANRその1> <LayerのバージョンANRその2...>
反映したい全ての関数に↓こんな感じでやる (リージョン ap-northeast-1
, レイヤー名 mylayer
, レイヤーバージョン2)
aws lambda update-function-configuration --function-name myfunction1 --layers arn:aws:lambda:ap-northeast-1:999999999999:layer:mylayer:2
aws lambda update-function-configuration --function-name myfunction2 --layers arn:aws:lambda:ap-northeast-1:999999999999:layer:mylayer:2
aws lambda update-function-configuration --function-name myfunction3 --layers arn:aws:lambda:ap-northeast-1:999999999999:layer:mylayer:2
一括じゃなくない?って
でも画面からぽちぽちしなくていいからいいでしょ🤢
同じノリで環境変数とかも変えれる。詳しくは上記のリファレンス
aws lambda update-function-configuration --function-name <Lambda関数の名称またはARN> --environment Variables={<変数名1>=<値1>,<変数名2>=<値2>...}
aws lambda update-function-configuration --function-name <Lambda関数の名称またはARN> --role <関数の実行ロールARN>
aws lambda update-function-configuration --function-name <Lambda関数の名称またはARN> --timeout <タイムアウト秒 (上限900)>
aws lambda update-function-configuration --function-name <Lambda関数の名称またはARN> --memory-size <メモリMB (64の倍数のみ)>