Python gRPC客户端如何无需JSON直接排序响应获取最新版本?
直接处理gRPC响应对象获取最新Revision
不用转JSON折腾,gRPC返回的响应本身就是自动生成的Python类实例,直接操作内部的revision列表就能拿到最新版本,逻辑更简洁还省了序列化开销。
核心代码示例
假设你调用ListTemplateRevisions后得到的响应对象是list_response,每个revision对象里的版本号字段是revision(比如你说的revision 2里的数字2):
# 调用接口拿到原始gRPC响应 list_response = stub.ListTemplateRevisions(request) # 直接从响应的revisions列表里挑版本号最大的 latest_revision = max(list_response.revisions, key=lambda r: r.revision) # 后续gRPC调用直接传这个revision对象就行 stub.YourNextGrpcMethod(YourRequest(template_revision=latest_revision))
补充细节
- 如果你的版本号字段不是
revision,换成实际字段名就行(比如version_id、revision_number) - 怕空列表报错的话加个判断:
if not list_response.revisions: raise ValueError("没有找到任何模板版本") latest_revision = max(list_response.revisions, key=lambda r: r.revision)
内容的提问来源于stack exchange,提问作者New2Python
相关产品推荐
相关产品推荐

