对python调用RPC接口的实例详解

 更新时间:2019年01月03日 09:46:05   作者:天枢  
今天小编就为大家分享一篇对python调用RPC接口的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

要调用RPC接口,python提供了一个框架grpc,这是google开源的

rpc相关文档:

https://grpc.io/docs/tutorials/basic/python.html

需要安装的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()

以上这篇对python调用RPC接口的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python使用socket向客户端发送数据的方法

    python使用socket向客户端发送数据的方法

    这篇文章主要介绍了python使用socket向客户端发送数据的方法,涉及Python使用socket实现数据通信的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  •  Python 中 logging 模块使用详情

     Python 中 logging 模块使用详情

    这篇文章主要介绍了 Python 中 logging 模块使用,在我们写程序时,可以借助 logging 模块的输出信息来调试代码,下文章关于 logging 模块的使用相关内容,需要的小伙伴可以参考一下
    2022-03-03
  • python utc datetime转换为时间戳的方法

    python utc datetime转换为时间戳的方法

    今天小编就为大家分享一篇python utc datetime转换为时间戳的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python列表(list)、字典(dict)、字符串(string)基本操作小结

    Python列表(list)、字典(dict)、字符串(string)基本操作小结

    这篇文章主要介绍了Python列表(list)、字典(dict)、字符串(string)基本操作小结,本文总结了最基本最常用的一些操作,需要的朋友可以参考下
    2014-11-11
  • Django中的用户身份验证示例详解

    Django中的用户身份验证示例详解

    这篇文章主要给大家介绍了关于Django中用户身份验证的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SQL Django具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • python+pyqt5实现KFC点餐收银系统

    python+pyqt5实现KFC点餐收银系统

    这篇文章主要为大家详细介绍了python+pyqt5实现KFC点餐收银系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Python实现外星人去哪了小游戏详细代码

    Python实现外星人去哪了小游戏详细代码

    今天为大家带来一款小游戏,名叫外星人去哪了,用Python语言实现完成,代码简洁易懂,感兴趣的小伙伴快来看看吧
    2022-03-03
  • python统计函数库scipy.stats的用法解析

    python统计函数库scipy.stats的用法解析

    今天小编就为大家分享一篇python统计函数库scipy.stats的用法解析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python 如何提高元组的可读性

    Python 如何提高元组的可读性

    这篇文章主要介绍了Python 如何提高元组的可读性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 利用Python实现Json序列化库的方法步骤

    利用Python实现Json序列化库的方法步骤

    这篇文章主要给大家介绍了关于利用Python实现Json序列化库的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论