协议缓冲区是一种语言中立且与平台无关的方式,以高效且可扩展的格式编码结构化数据。 Google对几乎所有内部RPC协议和文件格式都使用Protocol Buffers。它也是开源gRPC框架使用的默认数据编码。
对于一个项目,我们正在使用 Google Protocol Buffers。我对此完全陌生,所以我想学习一些教程。但每个教程都只是说:“制作一个 .proto 文件”,但我不知道如何
问题概述 我在使用 google protobuf 的 python 3.12 项目中面临导入阴影问题。 以下是我的项目的结构。 项目 ├── proto(由protoc生成) │ ├── 克...
Protobuf 链接错误,由于符号后缀“B5cxx11”而导致未定义引用
我正在将源文件test.cpp(包括proto.pb.h)和proto.pb.cc一起编译为二进制文件。 我下载了一个库 libProtobufLite.a,并使用命令进行编译: g++ test.cpp proto.pb.cc -Iinclu...
Protobuf 生成的 Python 类没有可访问的函数或字段
我需要用Python读取protobuf消息。我已在文件 order.proto 中定义了该消息: 语法=“proto3”; 消息订单{ 字符串订单ID = 1; 字符串用户ID = 2; 重复的字符串
注意:Protobuf 中不再需要必需的东西: 为什么 Protocol Buffers 3 中删除了必需和可选 我是 protobuf 的新手,我已经开始考虑以下简单的示例 混乱...
假设您有一个定义如下的原型: 消息动物园{ 重复的 Cat 猫 = 1; } 假设猫看起来像这样: 消息猫{ google.protobuf.StringValue 名称 = 1 十进制...
Protobuf 无法生成代码并出现“无法确定 Go 导入路径”错误
我的文件系统中有两个原型文件,其结构如下: 普罗托斯 ├── kws │ └── kws.proto ├── 常见 │ └── common.proto 这是他们的内容: 通用原型 语法=“
如何使用 grpc/proto-loader 在 NestJS 中接收“any”?
我正在使用 NestJS,并且在我的 protobuf 文件中有以下消息: 消息 我的消息 { 字符串测试=1; google.protobuf.任何有效负载 = 2; } 然后我将 NestJS 与以下内容一起使用
在运行 Protocol Buffers 的基于 Alpine 的 Docker 容器上出现“协议:未找到”
我正在尝试构建一个简单的容器,它从发布页面(https://github.com/protocolbuffers/protobuf/releases/tag/v3.13.0)下载 Protocol Buffers 二进制文件并将其添加到路径中。
带有 typescript vite React 应用程序的 Probuf 编译器
我已经在 typescript 中设置了一个 React vite 应用程序,我想使用 google grpc 来处理 api 请求。我制作了一个 protobuf 文件,并使用以下命令生成前端代码...
为什么 clang-format 在 protobuf 文件中的 'repeated' 关键字后面添加一个空格?
我正在使用 clang-format 来格式化 protobuf 文件,并且 clang-format 在点之前添加一个空格。 协议缓冲区文件: 消息请求{ 重复字符串 ID = 1 [(validate.rules).repeated.min_items = 1]; } 我
我们有一个项目,其中包含预编译为 C++ 文件的 protobuf 文件。 不幸的是,这些文件(就像项目中的其他源文件一样)会被 clang-tidy 检查并生成一个
我正在尝试使用 Google 的 Protocol Buffers 来描述 RPC 服务 服务 WhoamiService { rpc WhoAreYou() 返回 (Whoami) {} } 消息 Whoami { 可选字节 request_id = 1; 可选...
可以在选项中的标识符周围放置括号,如 https://protobuf.dev/reference/protobuf/proto3-spec/#option 中所述 例如你可以写 选项 foo.bar.baz = 1; 还有 欧...
将 protobuf 消息作为字节数组从 C++ 发送到 C#
我有一个 C# 应用程序和一个 C++ dll 库。我想让他们使用 protobuf 进行通信。 C# 应用程序将是调用者,C++ 应用程序将是发送者。 我正在做的事情如下: 来电者.cs 公共...
如何在golang中将.proto文件解析为FileDescriptor?
我的目标是从.proto文件动态获取FileDescriptor,我应该怎么做? 输入: 语法=“proto3”; 包“光环”; 消息搜索请求{ 字符串查询=1; ...
是否可以对同一个protobuf消息应用不同的protovalidate验证规则
我一直在考虑使用 protovalidate 来支持我拥有的复杂的 API 验证用例。 这是我的场景(简化)。我有一条原始消息,我们将其称为 FooRequest:
如何将带有 Enum 的 Proto 文件编译为包含 java 中保留键值的 Java 类?
我有一个原始文件,我可以更改或重命名其中的任何内容。 当我在java类中编译它时,我在类中遇到错误,因为“long”是java中的保留键。 我该如何解决这个问题? ...
protobuff emptyList() 在 LazyStringArrayList 中不是公开的
原型文件 重复字符串applicableType = 4; 原型生成的代码 适用类型_ = com.google.protobuf.LazyStringArrayList.emptyList(); 编译它显示的代码时 空列表()...
背景:我正在编写一个协议插件。 自定义 protobuf 选项通过以下方式实现: 语法=“proto3”; 包 com.example.proto.options; 导入“google/protobuf/descriptor.p...