【ジーアールピーシーカール】
grpcurl とは?
最終更新:
💡 gRPCを、定義とJSONから呼び出す
gRPCをコマンドラインから呼び出すツール。JSONとProtocol Buffersの変換、リフレクションとproto定義、TLS・平文接続、サービスの一覧やRPCの呼び出しを解説します。
📌 このページのポイント
grpcurlなら、入力をJSONで書いてRPCを呼び出せるよ。サービス定義に基づいてProtocol Buffersへ変換し、応答もJSONで表示する。通信中の応答がそのままJSON、という意味ではないんだ。
定義のprotoファイルは必ず手元に必要?
ローカルのサービス一覧を見るには?
実際にJSONを渡すときは?
ストリーミングも、これで全部の機能を検証できる?
もっと詳しく知りたい人へ
listが成功すれば、アプリのAPIも正常?
listはサービスの定義を調べる操作です。RPCの業務処理が正しく動くかは、対象メソッドを呼び出して確認します。逆にリフレクションが提供されていなくても、適切な定義ファイルを使えばRPCを呼び出せる場合があります。
接続エラーが出たら、TLSを無効にすればよい?
サーバーの接続方式を確認します。-plaintextはTLSを使わないサーバー用で、TLSサーバーの証明書問題を直す指定ではありません。独自の認証局やクライアント証明書が必要な場合は、公式のTLSオプションで適切に設定します。
📖 おまけ:英語の意味
「grpcurl」 = gRPC向けのコマンドライン呼び出しツール
💬 公式リポジトリは「curlのように、gRPCサーバーとやり取りするコマンドラインツール」と紹介しています。HTTP APIへJSONをそのまま送るcurlコマンドと、同じ通信をするわけではありません。