问题标签 [proto3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - python pb3序列化使用pb3
我正在使用 pb3 进行序列化:
我生成了一个x_pb2.py
文件,但不知道如何使用它。
例如,如果我想将时间戳记为字节,我该怎么做?
c++ - Protobuf ShortDebugString() 崩溃
我有以下原型:
我只是用 2 个值填充重复列表并尝试将其打印如下:
这会生成以下输出:
因此,ShortDebugString()
触发一个没有任何有意义信息的异常。
我做错了什么,还是我需要在调用之前以某种方式触发序列化ShortDebugString()
?
callstack
如果我让异常传播,这是 gdb :
编辑
这是CMakeLists.txt
用于构建此项目的:
这是项目树:
protocol-buffers - protoc命令中--plugin参数的作用是什么
我目前在 Protobuf 部分工作,并使用 protoc 编译器将.proto
文件编译为 java 类。在此命令中,我们有一个名为 ' plugin
' 的参数用作--plugin=EXECUTABLE
。我浏览了官方文档,上面写着
指定要使用的插件可执行文件。通常,protoc 在 PATH 中搜索插件,但您可以使用此标志指定不在路径中的其他可执行文件。此外,EXECUTABLE 可以是 NAME=PATH 的形式,在这种情况下,即使可执行文件自己的名称不同,给定的插件名称也会映射到给定的可执行文件。
但是我仍然无法获得利用此参数的确切用例。请帮忙。
参考:我浏览了https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.compiler.plugin
c# - 如何在 proto3 版本中将此 c# 类转换为 brotobuf?
我的 OperationResult.Cs 中有以下课程
现在我想像这样将这个类转换为名为 operationResult.proto 的 grpc 文件
我想将此文件用于 protobuf 中的每个服务,所以我想传递通用类型,如 c# 实现
protocol-buffers - 在 gRPC/proto3 中设置 oneof 请求的更有效方法
在 PHP 客户端和 Python 服务器上拥有这个 proto3 模式:
为了设置来自 PHP 客户端的请求,我需要执行以下操作:
- 创建一个新的
CAT
- 设置
OneOfAnimal
为CAT
- 设置
AnimalRequest.TypeAnimal
为OneOfAnimal
是否有 proto3 的架构,我可以直接将 aCAT
或DOG
object 设置为我的AnimalRequest.TypeAnimal
go - 由 grpc proto3 生成的 protobuff 中的蛇形案例样式
是否可以在 grpc 中将默认模型proto3
从 CamelCase 更改为 snake_case?
例子 :
文件anyproto.proto
现在protoc -I. --go_out=plugins=grpc:. anyproto.proto
命令生成这个模型:
文件 :anyproto.pb.go
我想改变风格requestStatus
和requestMessage
request_status
request_message
protocol-buffers - 我可以在 proto3 中定义一个有序的混合消息数组吗?
我想在 proto3 中定义一个不相关类(消息)的有序列表,如下所示:
- 青蛙
- 污垢
- 空气
- 电脑 1
- 电脑 2
- 政治
可能吗?如果 proto3 中存在基类(基本消息),我也可以忍受......不清楚 proto3 的功能集是否允许这样做。谢谢!
java - Protobuf 映射的排序
我在 proto3 中创建消息对象并使用自动生成的 java 类。我想为每个消息对象分配唯一的键。
在构造 的过程中Obj
,它从一个微服务接收一个名为 的 proto 对象metaData
,其定义如下:
基于metaData
对象中的条目,unique_key
通过遍历映射并对每个条目进行散列创建。(最多有 10 个条目keyFields
)
protobuf 文档说,无法定义键的顺序。我应该如何保证metaData
具有相同条目的不同对象keyFields
生成相同unique_key
?
serialization - 如何使用 protobuf 反射来保证确定性序列化
Proto3 发行说明指出:
然而,确定性序列化不是跨语言规范的。由于未知字段,它在不同的构建中也不稳定,架构更改。需要规范序列化的用户,例如规范形式的持久存储、指纹识别等,应定义自己的规范化规范并使用反射 API 实现序列化程序,而不是依赖此 API。
我想要实现的是对 protobuf 消息进行确定性序列化,以携带加密签名。据我了解,由于序列化程序的差异,二进制数据可能会有所不同,并且签名将变得无效。
使用 protobuf 反射的方法是什么?
c++ - 我可以将 proto2 生成的代码存根与 libprotobuf3.x 一起使用吗?
我有一个使用 proto2 和 libprotobuf2.x 的遗留应用程序。还有另一个应用程序应用程序,我希望该应用程序与 proto3 通信。
我检查了可能的解决方案,并且该线程中的讨论 说 libprotobuf3.x 提供与 proto2 的兼容性。
这是否意味着我可以使用为 proto2 生成的相同 proto(带有 proto2)和相同的代码存根 pb.h/pb.cpp,而只需将我的旧应用程序与 libprotobuf3.x 链接起来,它会像一个魅力一样工作吗?
我不想将遗留原型更新为 proto3,因为它可能需要对遗留代码进行重大重构。