Protocol Buffers 重复字段

Protocol Buffers repeated field

我在 .proto 文件中得到了这个:

message Request {
    repeated string test = 2;
//    string test = 2;

}

有一个函数:

def hash_md5(data):
    print(data)
    return data

有一个client代码:

channel = grpc.insecure_channel('localhost:6066')
stub = mle_service_pb2_grpc.DataHashStub(channel)
text = ['Scio me nihil scire']
to_md5 = mle_service_pb2.Request(test=text)
response = stub.hash_md5(to_md5)
print('-----------',response)

但有一个例外Exception calling application: Assignment not allowed to repeated field "test" in protocol message object。例如,如果我将 .proto 中的类型更改为字符串并更改 client to text = ['Scio me nihil scire'] 中的所有内容。我怎样才能用重复的类型修复它?

这让我很困惑(也让我很苦恼)但是你不能直接分配重复的字段(或消息)。

Repeated Fields