以下是我从服务器发送元数据的方法。
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'。我想知道如何访问客户端的尾随元数据。
答案 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())