VS codeでServerlessフレームワークのlambda関数をデバッグする
serverlessフレームワークを使って、lambdaアプリケーションを作っているのですが、ローカル環境でのlambda関数のデバッグ方法を知らなかったのでまとめました。
以下の手順ではserverlessアプリケーションの雛形を作成して、ローカル環境でvs code (visual studio code)を使ってデバッグをしています。
手順
serverlessのインストール
brew install serverless
serverless applicationのひな形作成
sls create --template aws-nodejs --path application
vs codeを起動
cd application code . # vs codeを起動
デバッグ設定
debugのアイコンを選択 -> Add Configurationのテキストをクリック
以下のようにlaunch.jsonのファイルを編集して保存する
- -f: 実行する関数名を指定
- --data: eventオブジェクトに渡すデータを指定
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Launch Program", "program": "/usr/local/bin/sls", "args": [ "invoke", "local", "-f", "hello", "--data", "{}" ] } ] }
デバッグ実行
実行を停止させたい行の隣をクリックして、以下のように赤い丸印のブレークポイントを設定する。
Launch Programの隣にある緑の三角ボタンをクリックすると、デバッグモードでの実行が開始されてブレークポイントを指定した行で実行が止まる。
DEBUG CONSOLEを使って変数の中身などを確認できる。