对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 RPC服务器端和客户端实例
Nov 22 Python
Python计算斗牛游戏概率算法实例分析
Sep 26 Python
简单易懂Pytorch实战实例VGG深度网络
Aug 27 Python
Django之PopUp的具体实现方法
Aug 31 Python
Python 日期的转换及计算的具体使用详解
Jan 16 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
Feb 26 Python
Django之富文本(获取内容,设置内容方式)
May 21 Python
keras中的History对象用法
Jun 19 Python
keras:model.compile损失函数的用法
Jul 01 Python
python实现socket简单通信的示例代码
Apr 13 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
GD输出汉字的函数的分析
2006/10/09 PHP
PHP一些有意思的小区别
2006/12/06 PHP
PHP开启opcache提升代码性能
2015/04/26 PHP
php实现微信扫码支付
2017/03/26 PHP
js类中获取外部函数名的方法与代码
2007/09/12 Javascript
javascript之bind使用介绍
2011/10/09 Javascript
javascript给span标签赋值的方法
2015/11/26 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
webpack多页面开发实践
2017/12/18 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
Vue基础配置讲解
2019/11/29 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
python操作excel文件并输出txt文件的实例
2018/07/10 Python
selenium python 实现基本自动化测试的示例代码
2019/02/25 Python
Python2与Python3的区别实例总结
2019/04/17 Python
python分布式爬虫中消息队列知识点详解
2020/11/26 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
会计专业毕业生自我鉴定
2013/10/29 职场文书
综合办公室个人的自我评价
2013/12/22 职场文书
大学生活动策划方案
2014/02/10 职场文书
2014年社区庆元旦活动方案
2014/03/08 职场文书
火箭队口号
2014/06/18 职场文书
公司演讲稿开场白
2014/08/25 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
实习指导老师意见
2015/06/04 职场文书
新娘婚礼致辞
2015/07/27 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书