對python調(diào)用RPC接口的實例詳解
要調(diào)用RPC接口,python提供了一個框架grpc,這是google開源的
rpc相關(guān)文檔:
https://grpc.io/docs/tutorials/basic/python.html
需要安裝的python包如下:
1.grpc安裝
pip install grpcio
2.grpc的python protobuf相關(guān)的編譯工具
pip install grpcio-tools
3.protobuf相關(guān)python依賴庫
pip install protobuf
4.一些常見原型的生成python類的集合:
pip install googleapis-common-protos
編譯protobuf文件:使用以下命令生成Python代碼:
python3 -m grpc_tools.protoc -I<目標(biāo)路徑目錄> --python_out=. --grpc_python_out=<目標(biāo)文件所在目錄路徑> <目標(biāo)文件data.proto>
python3 -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. data.proto
注意:protobuf文件,為定義服務(wù)接口代碼文件,這里是data.proto
會生成:data_pb2.py 與 data_pb2_grpc.py
data_pb2.py是服務(wù)接口映射
data_pb2_grpc.py方法映射
protobuf內(nèi)容示例:
syntax = "proto3";
package grpcDemo;
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
service gRPC {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
接口調(diào)用內(nèi)容示例:
# -*- 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調(diào)用RPC接口的實例詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于spring的@Bean注解放入引用Bean中初始化失敗分析
這篇文章主要介紹了關(guān)于spring的@Bean注解放入引用Bean中初始化失敗分析,Spring的@Bean注解用于告訴方法,產(chǎn)生一個Bean對象,然后這個Bean對象交給Spring管理,產(chǎn)生這個Bean對象的方法Spring只會調(diào)用一次,需要的朋友可以參考下2023-07-07
Python中sorted()函數(shù)之排序的利器詳解
sorted()函數(shù)是Python中的內(nèi)置函數(shù),用于對可迭代對象進(jìn)行排序,下面這篇文章主要給大家介紹了關(guān)于Python中sorted()函數(shù)之排序的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08
python rolling regression. 使用 Python 實現(xiàn)滾動回歸操作
這篇文章主要介紹了python rolling regression. 使用 Python 實現(xiàn)滾動回歸操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
通過celery異步處理一個查詢?nèi)蝿?wù)的完整代碼
今天小編就為大家分享一篇通過celery異步處理一個查詢?nèi)蝿?wù)的完整代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python設(shè)計模式之迭代器模式原理與用法實例分析
這篇文章主要介紹了Python設(shè)計模式之迭代器模式原理與用法,結(jié)合具體實例形式分析了迭代器模式的概念、原理、定義及使用方法,代碼注釋說明簡單易懂,需要的朋友可以參考下2019-01-01

