Python grp c сообщение с запросом для определения параметра типа карты - PullRequest
0 голосов
/ 27 апреля 2020

Я определил структуру сообщения запроса для службы:

message MultiStatsReq {
    message Record {
        int64 origin_id = 1;
        int64 message_id = 2;
    }
    message Business {
        repeated Record records = 1;
    }
    // business and records
    map<string, Business> business = 2;

}

Данные, использованные при построении клиента запроса для передачи параметров:

params = { "business": { "Hello": { "records": [ { "origin_id": 20, "message_id": 20 } ] } } } 

byte_params = self.client_pb2.MultiStatsReq(**params)

Но ошибка возвращается следующим образом:

TypeError: Parameter to MergeFrom() must be instance of same class: expected service.MultiStatsReq.Business got dict.

Как передать параметры?

...