LoginSignup
19
14

More than 5 years have passed since last update.

Serverlessフレームワークでデバッグする(ブレークポイントかける)方法

Last updated at Posted at 2016-07-27

ServerlessフレームワークでLambda関数をデバッグする方法をまとめました。

単体テスト

指定のLambda関数のevent.jsonにて入力パラメータを書き、下記コマンドを実行

$sls function run

デバッグ(ブレークポイントをかける)

ローカルでLambda起動できるオフラインサーバ(擬似API Gateway)を構築します。
serverless-offlineモジュールをインストール

$npm install serverless-offline --save

プロジェクトのs-functions.jsonにてプラグインを追加します。
"plugins": ["serverless-offline"]

プロジェクトフォルダにて下記コマンドでserverless-offlineをデバッグ起動します。
node-inspectorのインストールが別途必要です)

$node-debug $(type -p serverless) offline start --prefix <stage名> --debugOffline
Node Inspector v0.12.8
Visit http://127.0.0.1:8080/?port=5858 to start debugging.
Debugging `/Users/admin/.nvm/v4.3.2/bin/serverless`

Debugger listening on port 5858

Serverless: Starting Offline: <stage名>/us-east-1.  

(略)

Serverless: Offline listening on http://localhost:3000  

serverless-offlineは3000ポートで起動します。

http://localhost:3000/<stage名>/<api>

node-inspectorにアクセスします。
http://127.0.0.1:8080/?port=5858

スクリーンショット 2016-07-27 14.43.44.png

utilステージにtestのGET APIを作成していたとして
ブラウザで下記URLにアクセス(リクエスト)
http://localhost:3000/util/test

ブレークポイントで止まり、変数もデバッガーでチェックできます。

スクリーンショット 2016-07-27 14.54.10.png

19
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
14