2017-02-07 14 views
2

slsのローカル呼び出しをデバッグしようとしています。サーバレスフレームワークのローカル関数呼び出しのデバッグ

私のセットアップ:私はenter image description here

を得続けるしかし:

/Users/nikos/.nvm/versions/node/v6.9.1/bin/node --debug-brk=63417 --expose_debug_as=v8debug /Users/nikos/.nvm/versions/node/v6.9.1/bin/serverless invoke local -f createTodo 
Debugger listening on [::]:63417 

Process finished with exit code 130 (interrupted by signal 2: SIGINT) 

答えて

1

IntelliJなので、Webstormでも動作するはずです。 = *

オフライン-s DEV

と環境変数SLS_DEBUGを追加:あなたは、あなたの実行構成で

サーバレス・オフラインのプラグイン( https://github.com/dherault/serverless-offline)を必要とするためにアプリケーションのパラメータを変更しますserverless-offlineは、IntelliJノードデバッガーがフックできるサーバーを開始します。

2

これで、実際のChrome Devtoolsで優れた方法であるnode --inspectを使ってこれを行う方法を理解しました。これは、最新のchrome開発ツールを使用しているため、ノードインスペクタよりもはるかに優れています。 (more info on node inspect)

node --debug-brk --inspect $(which serverless) invoke local -f myfunctionname

私はそれを実行しましたが、私の機能はまだ(サーバレスコードで、おそらくいくつかの遅延ロード)にロードされていませんでした。だから私はdebuggerを私の関数の先頭行に追加し、すべてがうまくいっているようだ。

私の場合、テストデータも必要でしたので、このようにして渡しました。

node --debug-brk --inspect $(which serverless) invoke local -f postprocess -d '{"Records":[{"eventVersion":"2.0","eventSource":"aws:s3","awsRegion":"us-east-1","eventTime":"2017-06-17T05:08:29.598Z","eventName":"ObjectCreated:Put","userIdentity":{"principalId":"ALS78N87ZDYNW"},"requestParameters":{"sourceIPAddress":"52.119.114.78"},"responseElements":{"x-amz-request-id":"2EB4FAD5892EC247","x-amz-id-2":"nVLasIYsWvWm7xwONiTB6z7L8oXKkvPOb9FntOYoG/kKS+PuWwbMJ1xM7n/C1X3NJh5FUCj4aEM="},"s3":{"s3SchemaVersion":"1.0","configurationId":"3c3b2a71-b639-4116-b246-08dcacd0c7d6","bucket":{"name":"simmer-uploads-test","ownerIdentity":{"principalId":"ALS78N87ZDYNW"},"arn":"arn:aws:s3:::simmer-uploads-test"},"object":{"key":"example+%285%29.zip","size":4757597,"eTag":"9aa90579ee4e8152e6dfa60258754a83","sequencer":"005944B94AD9307261"}}}]}' 

私はMacで作業していますが、Windowsで$(サーバーレス)の問題があると聞いていました。しかし、誰かがそれを打ち、私に知らせる。

+0

私はこれを 'node -debug-brk -inspect%AppData%\ npm \ node_modules \ serverless \ bin \ serverless invoke local -f functionName -p ./path/to/mock-eventを使って動作させました。 .json' – chib

関連する問題