2020-12-01
Python培訓 好程序員
好程序員Python培訓分享Python如何調用RPC接口,Python如何調用RPC接口是很多Python開發工程師比較關心的問題,本篇文章好程序員Python培訓小編就給喜歡Python開發的小伙伴們分享一下Python調用RPC接口的詳解,文中有詳細的代碼列出有很好的參考價值,喜歡的小伙伴就隨小編一起來看一下吧,希望對大家有所幫助。
需要安裝的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培訓小編給大家分享的Python調用RPC接口詳解,希望對小伙伴們有所幫助,想要了解更多內容的小伙伴可以登錄好程序員官網咨詢。
開班時間:2021-04-12(深圳)
開班盛況開班時間:2021-05-17(北京)
開班盛況開班時間:2021-03-22(杭州)
開班盛況開班時間:2021-04-26(北京)
開班盛況開班時間:2021-05-10(北京)
開班盛況開班時間:2021-02-22(北京)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2020-09-21(上海)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2019-07-22(北京)
開班盛況Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號