python - 如何从 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 显示。我不知道使用哪个包中的哪个函数来获取状态码。
解决方案
引发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)
推荐阅读
- r - 如何在R中找到一列的最高编号并打印该行的两列?
- python-3.x - 在张量流中,如何计算从多列中具有 NaN 的 csv 生成的批次的每一列的平均值?
- xml - 带有 RSS 的 truepush.com 推送通知图标
- css - CSS 使两个不同比例的图像能够填充容器宽度并具有相同的高度
- java - 如何使用 .flex 文件解决此语法问题?
- javascript - 如何获取标记位置(x,y)AR.js
- javascript - 检索文档数据,其中条件值是子集合值
- c - 使用 WSARecvMsg 时查找多播 UDP 数据包的发送者
- mongodb - 在 Dokku 上部署时出现 Strapi EADDRNOTAVAIL 错误
- javascript - 检查 Axios Promise catch 块 VueJs 中的 HTTP 状态码