对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中暂存上传图片的方法
Feb 18 Python
TensorFlow的权值更新方法
Jun 14 Python
详解python:time模块用法
Mar 25 Python
Python中Numpy ndarray的使用详解
May 24 Python
PyQt QListWidget修改列表项item的行高方法
Jun 20 Python
python经典趣味24点游戏程序设计
Jul 26 Python
利用python中集合的唯一性实现去重
Feb 11 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
Apr 21 Python
python 多线程中join()的作用
Oct 29 Python
Python机器学习工具scikit-learn的使用笔记
Jan 28 Python
手把手教你怎么用Python实现zip文件密码的破解
May 27 Python
Python实现简单得递归下降Parser
May 02 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
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2017/08/01 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
javascript下数值型比较难点说明
2010/06/07 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
深入分析JSONP跨域的原理
2014/12/10 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
jquery文字填写自动高度的实现方法
2016/11/07 Javascript
bootstrapValidator自定验证方法写法
2016/12/01 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
python迭代器的使用方法实例
2013/11/21 Python
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
详解Python用户登录接口的方法
2019/04/17 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
台湾网友喜爱的综合型网路购物商城:Yahoo! 奇摩购物中心
2018/03/10 全球购物
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
局域网标准
2016/09/10 面试题
求职简历的自我评价怎样写好
2013/10/07 职场文书
四年级数学教学反思
2014/02/02 职场文书
门卫管理制度范本
2015/08/05 职场文书
2016年11月份红领巾广播稿
2015/12/21 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python
如何解决goland,idea全局搜索快捷键失效问题
2022/04/03 Golang