对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解析xml模块封装代码
Feb 07 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
Python查询IP地址归属完整代码
Jun 21 Python
python简单实现AES加密和解密
Mar 28 Python
python3.x提取中文的正则表达式示例代码
Jul 23 Python
python读取raw binary图片并提取统计信息的实例
Jan 09 Python
python pandas移动窗口函数rolling的用法
Feb 29 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
tensorflow下的图片标准化函数per_image_standardization用法
Jun 30 Python
pytorch 移动端部署之helloworld的使用
Oct 30 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 Python
运行python提示no module named sklearn的解决方法
Nov 29 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
在PHP模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
Confirmer JQuery确认对话框组件
2010/06/09 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
解析JavaScript的ES6版本中的解构赋值
2015/07/28 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
2018/03/27 Javascript
JS装饰器函数用法总结
2018/04/21 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
Python无损压缩图片的示例代码
2020/08/06 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
给同学的道歉信
2014/01/16 职场文书
售前工程师职业生涯规划
2014/03/02 职场文书
同居协议书范本
2014/04/23 职场文书
教师考核表个人总结
2015/02/12 职场文书
校长新学期致辞
2015/07/30 职场文书
解析python中的jsonpath 提取器
2022/01/18 Python