对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程序的循环的运行效率的原因
Apr 01 Python
Python打印scrapy蜘蛛抓取树结构的方法
Apr 08 Python
python实现八大排序算法(2)
Sep 14 Python
python 脚本生成随机 字母 + 数字密码功能
May 26 Python
详解python单元测试框架unittest
Jul 02 Python
python从入门到精通 windows安装python图文教程
May 18 Python
详解Pandas之容易让人混淆的行选择和列选择
Jul 10 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
pytorch点乘与叉乘示例讲解
Dec 27 Python
python使用ctypes调用扩展模块的实例方法
Jan 28 Python
如何用Python绘制3D柱形图
Sep 16 Python
python实现三阶魔方还原的示例代码
Apr 28 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 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
javascript 24小时弹出一次的代码(利用cookies)
2009/09/03 Javascript
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
Bootstrap 网站实例之单页营销网站
2016/10/20 Javascript
简单谈谈gulp-changed插件
2017/02/21 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
微信小程序滑动选择器的实现代码
2018/08/10 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
python ElementTree 基本读操作示例
2009/04/09 Python
Python中的pass语句使用方法讲解
2015/05/14 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
2020/03/05 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
python 负数取模运算实例
2020/06/03 Python
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
英国著名的美容护肤和护发产品购物网站:Lookfantastic
2020/11/23 全球购物
社区中秋节活动方案
2014/01/29 职场文书
党的群众路线对照检查材料思想汇报
2014/09/25 职场文书
教师四风问题对照检查材料
2014/09/26 职场文书
售后服务质量承诺书
2015/04/29 职场文书
重阳节活动主持词
2015/07/04 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
如何利用React实现图片识别App
2022/02/18 Javascript
css如何把元素固定在容器底部的四种方式
2022/06/16 HTML / CSS
win10壁纸在哪个文件夹 win10桌面背景图片文件位置分享
2022/08/05 数码科技