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

Chr*_*ris 8 python grpc

当 python 响应成功时,我尝试从 gRPC 中的客户端获取状态代码。类似于 REST API,当您这样做时response.status_code == 200。我需要断言这是一次成功的通话

我尝试通过这样做来解压响应。这是代码结构,不是实际的结构

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

print(code)
Run Code Online (Sandbox Code Playgroud)

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

response = onboarding_stub.AnswerEmailChallenge(request=answer_email_request,
                                                    metadata=[('authorization', get_token)])
Run Code Online (Sandbox Code Playgroud)

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

小智 10

出现Agrpc.RpcError表示 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)
Run Code Online (Sandbox Code Playgroud)