如何使用buf远程gRPC Python插件仅生成Client Stub而非Servicer?
仅生成gRPC Python客户端Stub的配置方法
要实现仅生成Client Stub而不包含服务端相关的Servicer代码,你只需要在buf.gen.yaml的gRPC Python插件配置中添加generate_server=false的选项即可。
修改后的buf.gen.yaml配置如下:
version: v1 plugins: - plugin: buf.build/grpc/python:v1.54.0 out: gen/python options: generate_server: false - plugin: buf.build/protocolbuffers/python:v21.12 out: gen/python
说明
generate_server是gRPC Python插件的内置参数,设置为false时,插件会跳过服务端Servicer类、服务注册方法等相关代码的生成,仅保留客户端Stub类。- protobuf Python插件的配置无需修改,它负责生成消息类型的基础代码,这是客户端Stub正常工作的必要依赖。
重新执行buf生成命令后,生成的代码就只会包含MyServiceStub,不再有MyServiceServicer及服务端相关的实现代码。
内容的提问来源于stack exchange,提问作者Brendon Daugherty
相关产品推荐
相关产品推荐

