Skip to Content

gRPCアクション

grpcアクションはgRPCのメソッドを呼び出します。サービス定義はサーバーリフレクションで解決するため、実行時に.protoファイルは必要ありません。

基本的な構文

steps: - name: Get a user uses: grpc with: addr: "grpc.example.com:443" service: "user.v1.UserService" method: "GetUser" tls: true body: | {"id": "123"} test: res.status_code == "OK"

パラメータ

パラメータ必須デフォルト説明
addrString必須-gRPCサーバーのホストとポート
serviceString必須-完全修飾のサービス名
methodString必須-メソッド名
bodyString任意""リクエストメッセージ(JSON)
metadataObject任意{}リクエストメタデータ(HTTPのヘッダーに相当)
timeoutString任意-タイムアウト("10s"など)
tlsBoolean任意falseTLSを使う
insecureBoolean任意false証明書の検証をスキップする
cert_fileString任意-mTLS用のクライアント証明書
key_fileString任意-mTLS用のクライアント鍵
ca_fileString任意-サーバー検証に使うCA証明書

レスポンスオブジェクト

プロパティ説明
res.bodyStringレスポンスメッセージ(JSON)
res.status_codeStringgRPCのステータスコード(OKNOT_FOUNDなど)
res.status_messageStringステータスメッセージ
res.metadataObjectレスポンスメタデータ
rtObjectレスポンスタイム
reqObject送信したリクエスト

使用例

メタデータを付けて呼び出す

steps: - name: Authenticated call id: get-user uses: grpc with: addr: "{{vars.grpc_addr}}" service: "user.v1.UserService" method: "GetUser" tls: true timeout: "10s" metadata: authorization: "Bearer {{vars.token}}" body: | {"id": "{{vars.user_id}}"} test: res.status_code == "OK" outputs: user: res.body

エラーを検証する

steps: - name: Unknown user returns NOT_FOUND uses: grpc with: addr: "{{vars.grpc_addr}}" service: "user.v1.UserService" method: "GetUser" tls: true body: | {"id": "does-not-exist"} test: res.status_code == "NOT_FOUND"

関連項目

  • 変数 - ステップで使える変数
  • YAML設定 - ステップのプロパティ
更新日時