如何从gRPC客户端获取状态代码OK响应

时间:2019-08-01 09:58:39

标签: python grpc

当使用python成功响应时,我正在尝试从gRPC中的客户端获取状态代码。进行response.status_code == 200时,类似于REST API。我需要断言这是一次成功的呼叫

我已经尝试过将响应打包。这是代码结构,而不是实际的

reposonse, metadata, code = stub.{Mygrpc}(request, metada)

print(code)

但是我只需要获取Python中的状态码。

response = onboarding_stub.AnswerEmailChallenge(request=answer_email_request,
                                                    metadata=[('authorization', get_token)])

我想从该调用中看到grpc.Status_code.OK在控制台中显示。我不知道从哪个包中使用哪个函数来获取状态代码。

1 个答案:

答案 0 :(得分:1)

引发grpc.RpcError,以指示非OK grpc状态代码。您可以捕获异常以打印状态代码。

try:
    response = onboarding_stub.AnswerEmailChallenge(request=answer_email_request,
        metadata=[('authorization', get_token)])
except grpc.RpcError as e:
    print(e.code())
else:
    print(grpc.StatusCode.OK)