LCDP ノードを使ったフローのデバッグ方法
LCDP ノードを使ってクラウド開発環境へデプロイしたフローは、クラウド開発環境のログ機能を使ってデバッグします。
たとえばこのようなシンプルな LCDP in と out で出来たフローがあります。
LCDP in ノードで外部からデータが送られてきたときのデータを見たい場合は、LCDP in ノードに debug ノードをつけます。
debug ノードをダブルクリックしてプロパティを表示します。
出力先がデフォルトだとデバッグウィンドウのみです。このままだと、debug ノードは、表示している Web エディタの中でフローを動かしたときのデータしか見れません。
システムコンソールをチェック
システムコンソールすると、ここに到着したデータがクラウド開発環境のログにも出力されます。設定したら完了ボタンをクリックします。
フローを保存します。
フローをクラウド開発環境にデプロイ
フローを閉じてクラウド開発環境画面で今回のフローをデプロイします。
HTTP トリガーで設定した URL にブラウザにアクセスして動かしてみましょう。
たとえば、HTTP トリガーで設定した URL に ?message=hello!enebular!
をつけて GET リクエストでパラメータをつけたアクセスをします。
ログを確認
HTTP トリガーで設定した URL にアクセスできたら、さきほどの LCDP in ノードの先の debug ノードが反応したはずです。
クラウド開発環境 > 今回のクラウド開発環境をクリック > 上部のメニュー > ログ をクリックします。
このようにログが表示されるので、今回実行した日時のログのグループを右側のログリストから選択します。
たとえば、HTTP トリガーで設定した URL に ?message=hello!enebular!
をつけて GET リクエストでパラメータをつけたアクセスの場合は、さきほどの debug ノードが反応して、このようなデータが表示されます。
TIPS: よくあるデータの追い方
- GET リクエストでパラメータをつけた場合
?message=hello!enebular!
のように URL のあとにつけたパラメータはmsg.payload
に入っています。
- POST リクエストでJSON データを送った場合
- ヘッダーで
Content-Type:application/json
を指定して JSON データを送った場合はmsg.payload
に送った JSON データが入っています。
- ヘッダーで
TIPS: アクセスしたパス
msg.req
に Node.js に準拠した Express リクエストオブジェクトの内容で入っています。
Express リクエストオブジェクト → https://expressjs.com/ja/4x/api.html#req
たとえば、アクセスしたパスは msg.req.url
に入っていています。HTTP トリガーで設定した URL そのままでアクセスすると /HTTPトリガーのID/
となります。
この HTTP トリガーの ID は今回のクラウド開発環境の設定で HTTP トリガーを設定した時のパスそのものです。
パスは今回のクラウド開発環境の設定のこの部分です。
https://lcdp003.enebular.com/hogehoge-project-202211-384764
であれば /hogehoge-project-202211-384764/
となります。
HTTP トリガーで設定した URL に /hello/world
とつけた場合は /HTTP トリガーのID/hello/world
となります。
https://lcdp003.enebular.com/hogehoge-project-202211-384764/hello/world
であれば /hogehoge-project-202211-384764/hello/world
となります。