对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通过select实现异步IO的方法
Jun 04 Python
Python科学计算之NumPy入门教程
Jan 15 Python
python下载图片实现方法(超简单)
Jul 21 Python
Python实现求数列和的方法示例
Jan 12 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
python urllib爬虫模块使用解析
Sep 05 Python
Django 自定义404 500等错误页面的实现
Mar 08 Python
TensorFLow 数学运算的示例代码
Apr 21 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
May 23 Python
基于opencv实现简单画板功能
Aug 02 Python
python 多线程死锁问题的解决方案
Aug 25 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简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
2016/03/17 PHP
js随机颜色代码的多种实现方式
2013/04/23 Javascript
javascript验证上传文件的类型限制必须为某些格式
2013/11/14 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
BootStrap前端框架使用方法详解
2020/02/26 Javascript
js函数和this用法实例分析
2020/03/13 Javascript
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
python django 访问静态文件出现404或500错误
2017/01/20 Python
Python 3中print函数的使用方法总结
2017/08/08 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
Python如何用filter函数筛选数据
2020/03/05 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
解决python运行启动报错问题
2020/06/01 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
十八大感想感言
2014/02/10 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
教师读书活动总结
2014/05/07 职场文书
党员四风剖析材料
2014/08/27 职场文书
感恩教师节演讲稿
2014/09/03 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
三国演义读书笔记
2015/06/25 职场文书
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS