🗒️
gRPCクライアントツールEvansを利用して公開サーバーにリクエストを送る
たまに使うと毎回忘れているため、備忘用メモ
gRPCのクライアントツールにはいくつか種類がありますが、Evansがターミナルから実行できお気に入りです。
詳細は以下の記事を参考にしてください。
gRPC と gRPC クライアントツール Evans | メルカリエンジニアリング
Web上のEvansの実行サンプルでは、ローカルで起動したgRPCサーバーに対するリクエスト例は多くあるのですが、公開サーバーに対するリクエスト例は少ないです。
一般公開されているgRPCサーバーに対してリクエストを送信する機会があり、実行コマンドを備忘のためにメモしておきます。
ポイント
以下二つをオプションで指定すること
- port
- tls
コマンド
※evansのinstall手順は割愛します
gRPCサーバが提供しているservice一覧取得
# list services
$ evans -r cli list --host sample-api.example.com --port 443 --tls
com.example.sample.protobuf.test.TestService
grpc.health.v1.Health
grpc.reflection.v1alpha.ServerReflection
gRPCサーバーに対してのリクエスト実行
$ echo '{ "username": "test"}' | evans -r cli call --host sample-api.example.com --port 443 --tls com.example.sample.protobuf.test.TestService.GetTest
{
"message": "test"
}
--verbose
optionをつけると、header情報なども出力し、debugに役に立ちます
Discussion