我有一个python grpc服务,可以将大量数据流传输到客户端微服务。
service GeoService {
rpc GetGeoCoordinates(GetRequest) returns (stream Chunk){}
}
message Chunk {
bytes data_part = 1;
}
我不能一次发送超过4MB的数据,因为TCP连接有限制。以下是我的代码(仅相关部分):
def GetGeoCoordinates(self, request, context):
...
...
dataBytes = geo_pb2.Chunk(data_part=bytes(json.dumps(coordinates["data"]), 'utf-8'))
yield dataBytes
我如何以4MB的块发送此数据?
另外,json.dumps()
大数据然后流是一个好的做法吗?任何帮助都是感激不尽的。
1条答案
按热度按时间huwehgph1#
在深入研究SO并查看了许多答案后,我终于实现了我的预期:
这个答案对我帮助最大Chunking in gRPC with Python