gRPC 和 Beta gRPC 类 有什么区别?
What's the difference between gRPC and Beta gRPC classes?
我有以下 proto 文件,它将生成一个 _pb2.py 文件,用于 python .
syntax = "proto3";
service Calculator {
rpc Add (AddRequest) returns (AddReply) {}
}
message AddRequest{
int32 n1=1;
int32 n2=2;
}
message AddReply{
int32 n1=1;
}
在_pb2.py中protoc会生成:
...
class CalculatorServicer(object):
def Add(self, request, context):
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
class BetaCalculatorServicer(object):
def Add(self, request, context):
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
...
我想知道这两个 class 之间的区别(CalculatorServicer 与 BetaCalculatorServicer)及其用法。
我看过使用第一个的代码 class 和使用第二个的代码。
您应该使用非限定代码元素(特别是 _pb2_grpc.py
文件中的那些代码元素)而不是 _pb2.py
文件中的 Beta 代码元素。如果您使用最新版本的代码生成器生成 _pb2.py
和 _pb2_grpc.py
文件(请尝试使用绝对最新的 grpcio-tools
, currently 1.1.3), you should see doc strings on the Beta code elements in the generated code describing them as deprecated and to be removed in the future.
Our examples 显示生成的 _pb2
和 _pb2_grpc
模块的当前预期用途。
我有以下 proto 文件,它将生成一个 _pb2.py 文件,用于 python .
syntax = "proto3";
service Calculator {
rpc Add (AddRequest) returns (AddReply) {}
}
message AddRequest{
int32 n1=1;
int32 n2=2;
}
message AddReply{
int32 n1=1;
}
在_pb2.py中protoc会生成:
...
class CalculatorServicer(object):
def Add(self, request, context):
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
context.set_details('Method not implemented!')
raise NotImplementedError('Method not implemented!')
class BetaCalculatorServicer(object):
def Add(self, request, context):
context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
...
我想知道这两个 class 之间的区别(CalculatorServicer 与 BetaCalculatorServicer)及其用法。
我看过使用第一个的代码 class 和使用第二个的代码。
您应该使用非限定代码元素(特别是 _pb2_grpc.py
文件中的那些代码元素)而不是 _pb2.py
文件中的 Beta 代码元素。如果您使用最新版本的代码生成器生成 _pb2.py
和 _pb2_grpc.py
文件(请尝试使用绝对最新的 grpcio-tools
, currently 1.1.3), you should see doc strings on the Beta code elements in the generated code describing them as deprecated and to be removed in the future.
Our examples 显示生成的 _pb2
和 _pb2_grpc
模块的当前预期用途。