我有一个gRPC客户端(用Java(向服务器发送请求(用Python编写(。我需要同时启用请求压缩和响应压缩。有关于如何在客户端启用压缩的良好文档。我已经设法像这样压缩请求:
response = blockingStub.withCompression("gzip").method(request)
但是,我找不到有关如何压缩服务器响应的任何文档(也(。似乎几乎没有关于如何在 Python 中使用 gRPC 消息压缩的文档(或示例(。如何启用服务器端压缩?该调用是一个简单的 RPC 调用(无流式处理(。
Python 中的压缩是通过元数据参数支持的。
您可以在此处找到示例: https://github.com/grpc/grpc/blob/master/src/python/grpcio_tests/tests/unit/_compression_test.py
要添加到 kpayson64 涵盖调用级压缩的答案中,您可以在初始化时通过通道 arggrpc.default_compression_algorithm
在grpc.Channel
或grpc.Server
对象上设置压缩设置。
另请参阅 gRPC 压缩手册,了解有关在何处显式启用或不显式启用压缩的建议。