对python调用RPC接口的实例详解

 更新时间:2019年01月03日 09:46:05   作者:天枢  
今天小编就为大家分享一篇对python调用RPC接口的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

要调用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做接口测试的必要性

    在本篇文章里小编给大家整理的是关于python做接口测试的必要性以及相关知识点,有兴趣的朋友们学习下。
    2019-11-11
  • 关于spring的@Bean注解放入引用Bean中初始化失败分析

    关于spring的@Bean注解放入引用Bean中初始化失败分析

    这篇文章主要介绍了关于spring的@Bean注解放入引用Bean中初始化失败分析,Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理,产生这个Bean对象的方法Spring只会调用一次,需要的朋友可以参考下
    2023-07-07
  • Python中sorted()函数之排序的利器详解

    Python中sorted()函数之排序的利器详解

    sorted()函数是Python中的内置函数,用于对可迭代对象进行排序,下面这篇文章主要给大家介绍了关于Python中sorted()函数之排序的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • Python开发.exe小工具的详细步骤

    Python开发.exe小工具的详细步骤

    这篇文章主要介绍了Python开发.exe小工具的详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Python实现扣除个人税后的工资计算器示例

    Python实现扣除个人税后的工资计算器示例

    这篇文章主要介绍了Python实现扣除个人税后的工资计算器,涉及Python流程控制与数学运算相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • python rolling regression. 使用 Python 实现滚动回归操作

    python rolling regression. 使用 Python 实现滚动回归操作

    这篇文章主要介绍了python rolling regression. 使用 Python 实现滚动回归操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 通过celery异步处理一个查询任务的完整代码

    通过celery异步处理一个查询任务的完整代码

    今天小编就为大家分享一篇通过celery异步处理一个查询任务的完整代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python设计模式之迭代器模式原理与用法实例分析

    Python设计模式之迭代器模式原理与用法实例分析

    这篇文章主要介绍了Python设计模式之迭代器模式原理与用法,结合具体实例形式分析了迭代器模式的概念、原理、定义及使用方法,代码注释说明简单易懂,需要的朋友可以参考下
    2019-01-01
  • python爬虫中的url下载器用法详解

    python爬虫中的url下载器用法详解

    在本篇内容里小编给各位整理的是一篇关于python爬虫中的url下载器用法详解内容,需要的朋友们参考下。
    2020-11-11
  • Python实现异步IO的示例

    Python实现异步IO的示例

    这篇文章主要介绍了Python实现异步IO的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11

最新评论