これで、実際の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で$(サーバーレス)の問題があると聞いていました。しかし、誰かがそれを打ち、私に知らせる。
私はこれを 'node -debug-brk -inspect%AppData%\ npm \ node_modules \ serverless \ bin \ serverless invoke local -f functionName -p ./path/to/mock-eventを使って動作させました。 .json' – chib