对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注释详解
Jun 01 Python
python中MethodType方法介绍与使用示例
Aug 03 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
解决Python pandas df 写入excel 出现的问题
Jul 04 Python
Python切片操作深入详解
Jul 27 Python
python并发和异步编程实例
Nov 15 Python
python实现递归查找某个路径下所有文件中的中文字符
Aug 31 Python
python的json中方法及jsonpath模块用法分析
Dec 06 Python
python对数组进行排序,并输出排序后对应的索引值方式
Feb 28 Python
GDAL 矢量属性数据修改方式(python)
Mar 10 Python
Python 实现将某一列设置为str类型
Jul 14 Python
python pyg2plot的原理知识点总结
Feb 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中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
linux下php上传文件注意事项
2016/06/11 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
扩展JavaScript功能的正确方法(译文)
2012/04/12 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
JS实现图片手风琴效果
2020/04/17 Javascript
angular4中关于表单的校验示例
2017/10/16 Javascript
vue-cli webpack2项目打包优化分享
2018/02/07 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
JS实现图片切换特效
2019/12/23 Javascript
在Django的模板中使用认证数据的方法
2015/07/23 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
使用requests库制作Python爬虫
2018/03/25 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
Lyle & Scott苏格兰金鹰官网:英国皇室御用品牌
2018/05/09 全球购物
什么是serialVersionUID
2016/03/04 面试题
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
国贸专业个人求职信范文
2014/01/08 职场文书
烹饪自我鉴定
2014/03/01 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
Python中zipfile压缩包模块的使用
2021/05/14 Python
Java基础——Map集合
2022/04/01 Java/Android
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技