ITPub博客

首页 > 应用开发 > Python > 好程序员Python培训分享Python如何调用RPC接口

好程序员Python培训分享Python如何调用RPC接口

原创 Python 作者:好程序员 时间:2020-12-01 16:00:38 0 删除 编辑

   Python 如何调用 RPC 接口是很多 Python 开发工程师比较关心的问题,本篇文章 好程序员 Python 培训小编就给喜欢 Python 开发的小伙伴们分享一下 Python 调用 RPC 接口的详解,文中有详细的代码列出有很好的参考价值,喜欢的小伙伴就随小编一起来看一下吧,希望对大家有所帮助。

需要安装的python 包如下:

1 grpc 安装

pip install grpcio

 

2 grpc python protobuf 相关的编译工具

pip install grpcio-tools

 

3 protobuf 相关 python 依赖库

pip install protobuf

 

4 、一些常见原型的生成 python 类的集合:

pip install googleapis-common-protos

编译protobuf 文件:使用以下命令生成 Python 代码:

python3 -m grpc_tools.protoc -I< 目标路径目录 > --python_out=. --grpc_python_out=< 目标文件所在目录路径 > < 目标文件 data.proto>

python3 -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. data.proto

 

注意:protobuf 文件,为定义服务接口代码文件,这里是 data.proto

 

会生成:data_pb2.py data_pb2_grpc.py

 

data_pb2.py 是服务接口映射

 

data_pb2_grpc.py 方法映射

 

protobuf 内容示例:

syntax = "proto3";

package grpcDemo;

 

message HelloRequest {

 string name = 1;

}

 

message HelloReply {

 string message = 1;

}

 

 

service gRPC {

 rpc SayHello (HelloRequest) returns (HelloReply) {}

}

 

 

接口调用内容示例:

 

# -*- coding: utf-8 -*-

import grpc

import data_pb2,data_pb2_grpc

 

_HOST = 'localhost'

_PORT = '8080'

 

def run():

 conn = grpc.insecure_channel(_HOST + ':' + _PORT)

 client = data_pb2_grpc.gRPCStub(channel=conn)

 response = client.SayHello(data_pb2.HelloRequest(name='hello,world!'))

 print("received: " + response.text)

 

if __name__ == '__main__':

 run()

 



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69913864/viewspace-2738524/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-03-20

  • 博文量
    342
  • 访问量
    155234