您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關怎么在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項目中調用RPC接口了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。