首页 > 解决方案 > 在 ruby​​ 或 java 中加载协议缓冲区,类似于节点

问题描述

我有一个.proto包含我的架构和服务定义的文件。我正在 ruby​​/java 中寻找一种类似于 Node 加载和解析它的方法(下面的代码)。看着 grpc ruby​​ gem,我没有看到任何可以复制 Node 是如何做到的。

挖掘我看到这个(https://github.com/grpc/grpc/issues/6708)它指出动态加载.proto文件仅在节点中可用。希望有人可以为我提供替代方案。

用例:按照客户端提供的动态加载.proto文件,但我只能使用 ruby​​ 或 java 来完成。


let grpc = require("grpc");
let loader = require("@grpc/proto-loader");

let packageDefinition = loader.loadSync(file.file, {});
let parsed = grpc.loadPackageDefinition(packageDefinition);

标签: rubygrpc

解决方案


在过去的几个月里,我一直在尝试这个,似乎 Node 是在运行时读取 protobuf 文件的唯一方法。希望这可以帮助将来需要它的任何人。


推荐阅读