對python呼叫RPC介面的例項詳解

2022-10-03 13:09:10 字數 1390 閱讀 1846

要呼叫rpc介面,python提供了乙個框架grpc,這是google開源的

程式設計客棧/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內容示例:

www.cppcns.comsyntax = "pro程式設計客棧to3";

package grpcdemo;

message hellorequest

messagexpquyt helloreply

service grpc

}介面呼叫內容示例:

# -*- coding: utf-8 -*-

import grpc

impoxpquytrt 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本身就是一種多型語言,即不同的類中可以定義相同的方法 函式 名稱。所謂介面是一種特殊的類,宣告了若干方法,要求繼承該介面的類必須實現這些方法,否則會報錯。具體 實現如下 from abc import abcmeta,ab...

Python呼叫REST API介面的幾種方式彙總

相信做過自動化運維的同學都用過rest api介面來完成某些動作。api是一套成熟系統所必需的介面,可以被其他系統或指令碼來呼叫,這也是自動化運維的必修課。本文主要介紹python中呼叫rest api的幾種方式,下面是python中會用到的庫。url rac程式設計客棧kid asset impo...

rpc 方式呼叫webservice介面引數說明

最經在專案中用到 webservice介面呼叫問題 需要使用rpc方式去請求webservice 提供方法,在使用時中間出現一些問題 在此記錄備註 使用rpc方式呼叫webservice rpcserviceclient serviceclient new rpcserviceclient opti...