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を使って変数の中身などを確認できる。