好程式設計師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()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913864/viewspace-2738524/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師Python培訓Python如何呼叫服務介面程式設計師Python
- 好程式設計師Python培訓分享Python程式設計師面試技巧程式設計師Python面試
- 好程式設計師Python培訓分享如何寫Python裝飾器程式設計師Python
- 好程式設計師Python培訓分享四款Python程式庫程式設計師Python
- 好程式設計師Python培訓分享numpy簡介程式設計師Python
- 好程式設計師Python培訓分享Python異常處理程式設計師Python
- 好程式設計師Python培訓分享機器學習面試題一程式設計師Python機器學習面試題
- 好程式設計師Python培訓分享Python爬蟲工具列表大全程式設計師Python爬蟲
- 好程式設計師Python培訓分享Python爬蟲相關框架程式設計師Python爬蟲框架
- 好程式設計師Python培訓分享Python系列之分支結構程式設計師Python
- 好程式設計師Python培訓分享Python系列之字串的使用程式設計師Python字串
- 好程式設計師Python培訓分享Python配置gRPC環境程式設計師PythonRPC
- 好程式設計師Python培訓分享學Python要注意什麼程式設計師Python
- 好程式設計師Python培訓分享Python的遞迴函式與匿名函式呼叫程式設計師Python遞迴函式
- 好程式設計師Python培訓分享開發工具推薦程式設計師Python
- 好程式設計師Python培訓分享基礎入門Django程式設計師PythonDjango
- 好程式設計師Python培訓分享For迴圈用法詳解程式設計師Python
- 好程式設計師Python培訓分享Python入門基礎知識程式設計師Python
- 好程式設計師Python培訓分享Python系列之迴圈結構程式設計師Python
- 好程式設計師Python培訓分享Python生成器與迭代器程式設計師Python
- 好程式設計師Python培訓分享Python之初識網路爬蟲程式設計師Python爬蟲
- 好程式設計師Python培訓分享Python程式設計中常見的異常處理程式設計師Python
- 好程式設計師Python培訓分享簡述fetchone()函式程式設計師Python函式
- 好程式設計師Python培訓分享Python中程式和執行緒詳解程式設計師Python執行緒
- 好程式設計師Java培訓分享本地快取如何設計程式設計師Java快取
- 好程式設計師Java培訓分享之RMI與RPC的區別程式設計師JavaRPC
- 好程式設計師Python培訓分享網路爬蟲的分類程式設計師Python爬蟲
- 好程式設計師Python培訓分享深入理解yield from語法程式設計師Python
- 好程式設計師Python培訓分享udp和tcp協議介紹程式設計師PythonUDPTCP協議
- 好程式設計師Python培訓分享Python面試寶典之基礎篇-03程式設計師Python面試
- 好程式設計師Python培訓分享Python生成器的詳細介紹程式設計師Python
- 好程式設計師Python培訓分享函數語言程式設計之匿名函式程式設計師Python函數函式
- 好程式設計師Java培訓分享Java程式設計技巧程式設計師Java
- 好程式設計師Java培訓分享如何快速入門Java程式設計程式設計師Java
- 好程式設計師web前端培訓分享如何講清楚Promise?程式設計師Web前端Promise
- 好程式設計師Web前端培訓分享如何講清楚this指向?程式設計師Web前端
- 好程式設計師Java培訓分享如何快速入門Java程式設計師Java
- 好程式設計師Python培訓分享print和return的作用及區別程式設計師Python