evansコマンドでNode-REDのGRPCサーバのメソッドを呼び出す

evansコマンドでNode-REDのGRPCサーバのメソッドを呼び出す

前提

項目 バージョン
OS Ubuntu-20-04
evans 0.10.2

高機能なGRPC clientのツールです。

evansコマンドインストール

$ brew tap ktr0731/evans
$ brew install evans

GRPCサーバ起動(Node-RED)

Node-REDでGRPCサーバを作成します。(node-red-contrib-grpcモジュール使用)

サーバ URL
Node-RED localhost:1880
GRPC Server localhost:8082

evansコマンドでNode-REDのGRPCサーバのメソッドを呼び出す

GRPCサーバリフレクションが有効であれば簡単にgrpcurlやevansでメソッド呼び出しができるのですが、無効になっている場合は.protoファイルを作成する必要があります。

node-red-contrib-grpcモジュールを使用している場合は、protoファイルが存在せず、ノード内に記載しますので、同じ内容のprotoファイルを無理矢理作成します。※他に良い方法あったら教えてください(grpc-callノードを使う以外で)

Node-RED起動すればGRPCサーバも起動します。

$ node-red

GRPCサーバ起動完了です。

evans replモードで起動(WSL)

evansをreplモードで起動します。

$ evans --host localhost --proto 8082 --proto sample.proto

hostやport、.protoファイル名は適宜変更してください。

evansコマンドでNode-REDのGRPCサーバのメソッドを呼び出す

sample.protoの内容です。

syntax = "proto3";
package hello;

service Greeter {
  rpc HelloWorld(Request) returns (Reply) {}
}

message Request {
  int32 id = 1;
  string name = 2;
}

message Reply {
  string message = 1;
}

evansがreplモードで起動したらこんな画面が表示されます。

evansコマンドでNode-REDのGRPCサーバのメソッドを呼び出す

この画面が表示されたらインタラクティブにGRPC callすることができます。

  • show package
  • show service
  • show message
  • show rpc
  • show header
  • show –help

show --helpコマンド実行します。

hello.Greeter@localhost:8082> show --help
usage: show <package | service | message | rpc | header>

GRPC call(WSL)

service サービス名でサービス指定し、call メソッド名でメソッド呼び出しができます。

evansコマンドでNode-REDのGRPCサーバのメソッドを呼び出す

参考サイト

GitHub - ktr0731/evans: Evans: more expressive universal gRPC client
Evans: more expressive universal gRPC client. Contribute to ktr0731/evans development by creating an account on GitHub.

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました