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


Posted in Python onJanuary 03, 2019

要调用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 相关文章推荐
整理Python中的赋值运算符
May 13 Python
Python中的字符串操作和编码Unicode详解
Jan 18 Python
Python中标准模块importlib详解
Apr 16 Python
python导出chrome书签到markdown文件的实例代码
Dec 27 Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
Mar 22 Python
Flask之flask-session的具体使用
Jul 26 Python
python获取中文字符串长度的方法
Nov 14 Python
python三方库之requests的快速上手
Mar 04 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
Python 转换文本编码实现解析
Aug 27 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 #Python
Python多图片合并PDF的方法
Jan 03 #Python
python对于requests的封装方法详解
Jan 03 #Python
python使用suds调用webservice接口的方法
Jan 03 #Python
Python调用服务接口的实例
Jan 03 #Python
Python2和Python3之间的str处理方式导致乱码的讲解
Jan 03 #Python
python requests 库请求带有文件参数的接口实例
Jan 03 #Python
You might like
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
php类自动加载器实现方法
2015/07/28 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
javascript 拖放效果实现代码
2010/01/22 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
js设置随机切换背景图片的简单实例
2017/11/12 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
Python英文文章词频统计(14份剑桥真题词频统计)
2019/10/13 Python
tensorflow 模型权重导出实例
2020/01/24 Python
CSS3之2D与3D变换的实现方法
2019/01/28 HTML / CSS
一套软件测试笔试题
2014/07/25 面试题
公司周年庆典邀请函
2014/01/12 职场文书
深入开展党的群众路线教育实践活动方案
2014/02/04 职场文书
劲霸男装广告词改编版
2014/03/21 职场文书
党员自评材料范文
2014/12/17 职场文书
2016应届毕业生实习心得体会
2015/10/09 职场文书
初中班主任心得体会
2016/01/07 职场文书
导游词之南迦巴瓦峰
2019/11/19 职场文书
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript