首页 > 其他分享 >GRPC - grpcurl: interact with gRPC servers

GRPC - grpcurl: interact with gRPC servers

时间:2024-05-12 21:08:00浏览次数:30  
标签:reflection GRPC 0.0 interact TodoService grpcurl v2 todo

https://github.com/fullstorydev/grpcurl

 

Install:

go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest

 

Add code to enable server reflection:

import "google.golang.org/grpc/reflection"

reflection.Register(s)  // s is a grpc server

 

In Makefile:

srvaddr=0.0.0.0:50051
gcurl:
	grpcurl -cacert ./certs/ca_cert.pem \
	        -authority "check.test.example.com" \
	        -reflect-header 'auth_token: authd' \
	        $(srvaddr) $(command)

 

Run grpcurl with Makefile:

zzh@ZZHPC:/zdata/Github/zgrpc-go-professionals$ make command=list gcurl
grpcurl -cacert ./certs/ca_cert.pem \
        -authority "check.test.example.com" \
        -reflect-header 'auth_token: authd' \
        0.0.0.0:50051 list
grpc.reflection.v1.ServerReflection
grpc.reflection.v1alpha.ServerReflection
todo.v2.TodoService

zzh@ZZHPC:/zdata/Github/zgrpc-go-professionals$ make command="describe todo.v2.TodoService" gcurl
grpcurl -cacert ./certs/ca_cert.pem \
        -authority "check.test.example.com" \
        -reflect-header 'auth_token: authd' \
        0.0.0.0:50051 describe todo.v2.TodoService
todo.v2.TodoService is a service:
service TodoService {
  rpc AddTask ( .todo.v2.AddTaskRequest ) returns ( .todo.v2.AddTaskResponse );
  rpc DeleteTasks ( stream .todo.v2.DeleteTasksRequest ) returns ( stream .todo.v2.DeleteTasksResponse );
  rpc ListTasks ( .todo.v2.ListTasksRequest ) returns ( stream .todo.v2.ListTasksResponse );
  rpc UpdateTasks ( stream .todo.v2.UpdateTasksRequest ) returns ( .todo.v2.UpdateTasksResponse );
}

 

标签:reflection,GRPC,0.0,interact,TodoService,grpcurl,v2,todo
From: https://www.cnblogs.com/zhangzhihui/p/18188186

相关文章

  • GRPC - ghz: gRPC benchmarking and load testing tool
     https://ghz.sh/https://github.com/bojand/ghz Installusinggo>=1.16goinstallgithub.com/bojand/ghz/cmd/ghz@latest zzh@ZZHPC:/zdata/Github/zgrpc-go-professionals$ghz--proto./proto/todo/v2/todo.proto\--import-paths=proto\--callto......
  • gRPC入门学习之旅目录
     gRPC入门学习之旅(一)gRPC入门学习之旅(二)gRPC入门学习之旅(三)gRPC入门学习之旅(四)gRPC入门学习之旅(五)gRPC入门学习之旅(六) gRPC入门学习之旅(七)gRPC入门学习之旅(八)......
  • gRPC入门学习之旅(八)
     gRPC入门学习之旅(一)gRPC入门学习之旅(二)gRPC入门学习之旅(三)gRPC入门学习之旅(四)gRPC入门学习之旅(五)gRPC入门学习之旅(六) gRPC入门学习之旅(七) 3.7、添加proto协议文件1.将服务端项目Demo.GrpcService中的Protos目录中的Grpc协议文件复制过来,如下图所示:......
  • ZGRPC - A Unit Test Failure
     functestUpdateTasksUnavailableDb(t*testing.T){//Arrangeconn,c:=newClient(t)deferconn.Close()newDb:=NewFakeDb(IsAvailable(false))*fakeDb=*newDb//ClearallthefieldsinfakeDb.d.tasksexceptId.requests......
  • GRPC与HTTP/3.0
    弱网环境下的表现不同GRPC是基于HTTP/2.0协议开发的,HTTP/2.0通过以下举措在性能方面有极大的提升:引出了Stream概念,多个Stream可以复用在一条TCP连接,解决了HTTP/1.1的队头阻塞问题(在一条TCP连接上服务端对多个请求的响应只能一个一个同步的响应,即使多个请求是并发的)开发了......
  • 交互式应用安全测试(Interactive application security testing IAST)
    一、IAST介绍 交互式应用安全测试(InteractiveapplicationsecuritytestingIAST)是一个在应用和API中自动化识别和诊断软件漏洞的技术。如果从名字的缩写来看,插桩(Instrumented)式应用安全测试或许是一个更好的说法。IAST不是一个扫描器,IAST持续地从内部监控你应用中的漏洞,在整个......
  • WPF Behavior Interaction Triggers EventTrigger EventName CallMethodAction Target
    //xaml<Windowx:Class="WpfApp92.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mic......
  • WPF MVVM Datagrid Selected Multiple items via behavior interaction.trigger,event
    1.Install Microsoft.Xaml.Behaviors.WpffromNuget;2.Addbehaviorreferenceinxamlxmlns:behavior="http://schemas.microsoft.com/xaml/behaviors"3.Passmethodtomvvmviabehavior,interaction,trigger,eventname,TargetObject,MethodNameinxaml......
  • python grpc简单使用
    pythongrpc简单使用1、rpc和grpc关系RPC(RemoteProcedureCallProtocol),直译来看就是远程过程调用协议。它提供了一套机制,使得应用程序之间可以进行通信,使用时客户端调用server端的接口就像调用本地的函数一样方便。并且server端和client端不限语言,任何语言遵循protobuf协议......
  • WPF pass event method to viewmodel via Interaction:CallMethodAction,TargetObject
    <Windowx:Class="WpfApp71.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.......