如何从python gRPC客户端

时间:2017-09-09 00:28:02

标签: grpc

以下是我从服务器发送元数据的方法。

def DoSomething(self, request, context):
    response = detection2g_pb2.SomeResponse()
    response.message = 'done'
    _SERVER_TRAILING_METADATA = (
                                ('method_status', '1010'),
                                    ('error', 'No Error')
                                )
    context.set_trailing_metadata(_SERVER_TRAILING_METADATA)

    return response

以下是我的尝试:

res = _stub.DoSomething(req) 
    print (res.trailing_metadata()) 

在这种情况下,我得到属性错误对象没有属性'trailing_metadata'。我想知道如何访问客户端的尾随元数据。

1 个答案:

答案 0 :(得分:2)

我向we don't yet have an example illustrating metadata道歉,但您可以看到here how getting the trailing metadata on the invocation side requires using with_call(或future,但这可能会以您不想改变的方式改变控制流程,所以我认为with_call应该是你的第一选择。我认为您的调用端代码应该看起来像

response, call = _stub.DoSomething.with_call(request) 
print(call.trailing_metadata())