запрос grpc без каких-либо параметров запроса

#grpc #grpc-python

#grpc #grpc-python

Вопрос:

У меня есть сервер grpc с запросом типа:

 service AbcService {
 rpc GetInfo(GetInfoRequest) returns (GetInfoResponse) {}
}

message GetInfoRequest {}
message GetInfoResponse {
  string hostname = 3;
}
 

И это мой клиент:

 channel = grpc.insecure_channel('test.url:1025')
client = svc_pb2_grpc.AbcServiceStub(channel)

# get response
resp = client.GetInfo
 

Я сталкиваюсь с проблемами с клиентом, поскольку я не могу получить от него никакого ответа. grpcurl работает просто отлично, используя:
grpcurl -plaintext test.url:1025 AbcService/GetInfo

resp = client.GetInfo Правильно ли в клиенте вызывать этот вызов (который не ожидает какого-либо параметра запроса)?

Ответ №1:

«Заглушка» инкапсулирует ваш сервер в класс, где различные вызовы API (запросы / ответы) являются вызовами методов.

Итак, прежде всего: resp = client.GetInfo()

Тем не менее, GetInfo ожидает an GetInfoRequest , поэтому вам нужно:

resp = client.GetInfo(GetInfoRequest())