对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中sets模块的用法实例
Sep 30 Python
python打开url并按指定块读取网页内容的方法
Apr 29 Python
Python 判断是否为质数或素数的实例
Oct 30 Python
python实现多线程行情抓取工具的方法
Feb 28 Python
详解Python中where()函数的用法
Mar 27 Python
python读取中文txt文本的方法
Apr 12 Python
Django项目中model的数据处理以及页面交互方法
May 30 Python
Python实现多线程的两种方式分析
Aug 29 Python
linux下安装python3和对应的pip环境教程详解
Jul 01 Python
Python的互斥锁与信号量详解
Sep 12 Python
Flask 上传自定义头像的实例详解
Jan 09 Python
Python自动化测试中yaml文件读取操作
Aug 20 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 手机归属地查询 api
2010/02/08 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
非常实用的php验证码类
2016/05/15 PHP
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
2012/05/23 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
JS SetInterval 代码实现页面轮询
2017/08/11 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
Python入门篇之字典
2014/10/17 Python
Python爬取国外天气预报网站的方法
2015/07/10 Python
python中实现指定时间调用函数示例代码
2017/09/08 Python
Python绘制3D图形
2018/05/03 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
求职简历自荐信范文
2013/10/21 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
购房意向书范本
2014/04/01 职场文书
酒店管理毕业生自荐信
2014/05/25 职场文书
助理政工师申报材料
2014/06/03 职场文书
法制宣传口号
2014/06/16 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
学校志愿者活动总结
2014/06/27 职场文书
团员个人总结
2015/02/26 职场文书
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL