首页 > 解决方案 > 如何从 gRPC 客户端获取状态代码 OK 响应

问题描述

当使用 python 响应成功时,我试图从 gRPC 中的客户端获取状态代码。与 REST API 类似response.status_code == 200。我需要断言这是一个成功的调用

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

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 显示。我不知道使用哪个包中的哪个函数来获取状态码。

标签: pythongrpc

解决方案


引发Agrpc.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)

推荐阅读