jjzjj

go - 较旧的服务传输较新版本的 Protocol Buffer 3 消息

比如说,我有一个ProtocolBuffer消息(在proto3中)的形式messageA{int32foo=1;}我正在运行用Go编写的服务器X、Y和Z,它们使用这些消息并通过gRPC传递它们,这样X与Y对话,Y与Z对话,即X和Z通过Y对话。Alice设计了一个很酷的新功能,需要在消息A中添加一个新字段bar并更新服务器X和Z。messageA{int32foo=1;int32bar=2;}但是,服务器Y的部署版本不识别这个新字段,并且重新部署服务器Y以实现这一点在大型系统中很快就会变得非常困难。在以前的生活中,我们使用proto2并且所有这些工作正常,因为它会保留无法识别的字段。但

google-app-engine - 去 appengine : panic: proto: duplicate enum registered: appengine. LogServiceError_ErrorCode

我最近更新了我的golangGAESDK(goapp版本现在是go1.4.2(appengine-1.9.21)darwin/amd64),现在我在尝试提供该应用程序时遇到此错误:orcaman$goappversiongoversiongo1.4.2(appengine-1.9.21)darwin/amd64Ors-MacBook-Pro:mainorcaman$goappserveINFO2015-05-2312:45:38,666devappserver2.py:745]SkippingSDKupdatecheck.INFO2015-05-2312:45:38,778api_se

google-app-engine - 去 appengine : panic: proto: duplicate enum registered: appengine. LogServiceError_ErrorCode

我最近更新了我的golangGAESDK(goapp版本现在是go1.4.2(appengine-1.9.21)darwin/amd64),现在我在尝试提供该应用程序时遇到此错误:orcaman$goappversiongoversiongo1.4.2(appengine-1.9.21)darwin/amd64Ors-MacBook-Pro:mainorcaman$goappserveINFO2015-05-2312:45:38,666devappserver2.py:745]SkippingSDKupdatecheck.INFO2015-05-2312:45:38,778api_se

go - 如何在 Bazel 中通过 Go 使用 Google API

我目前正在尝试使用来自Bazel的Go中的GoogleAPI(目前仅由于注释选项)。有officialrepo对于原型(prototype)API。他们在那里将Go用户重定向到specialgovariant.两者都只定义了一个stubBazel包。因此似乎没有一个可以直接使用。因此,一种方法是forkthelatter,引入构建go_proto_libraries的Packages,希望目录结构安抚gorules.问题:是否已经有另一个存储库,可以简单地使用?如果不是:后一个repo被标记为实验性的。改变的可能性有多大?后一个repo是否保持同步?应该使用后一个repo中的源代码还是

go - 如何在 Bazel 中通过 Go 使用 Google API

我目前正在尝试使用来自Bazel的Go中的GoogleAPI(目前仅由于注释选项)。有officialrepo对于原型(prototype)API。他们在那里将Go用户重定向到specialgovariant.两者都只定义了一个stubBazel包。因此似乎没有一个可以直接使用。因此,一种方法是forkthelatter,引入构建go_proto_libraries的Packages,希望目录结构安抚gorules.问题:是否已经有另一个存储库,可以简单地使用?如果不是:后一个repo被标记为实验性的。改变的可能性有多大?后一个repo是否保持同步?应该使用后一个repo中的源代码还是

go - protoc 从属于不同包的两个 proto 文件生成 golang 代码

我有两个protosrc文件,在同一个文件夹中,比方说:第一个是foo.protosyntax="proto3";packagefoo;第二个是bar.proto,需要importfoo.protosyntax="proto3";import"foo.proto";packagebar;你可以看到它们有不同的包名,当我使用protoc一个一个生成它们时,(foo.proto作为第一个原因),我生成了两个golang文件,但我必须将它们放入2目录(你不能把不同的包名文件放在同一个目录下,golang)foo/foo.pb.gobar/bar.pb.go但在bar.pb.go中,导入使用的

go - protoc 从属于不同包的两个 proto 文件生成 golang 代码

我有两个protosrc文件,在同一个文件夹中,比方说:第一个是foo.protosyntax="proto3";packagefoo;第二个是bar.proto,需要importfoo.protosyntax="proto3";import"foo.proto";packagebar;你可以看到它们有不同的包名,当我使用protoc一个一个生成它们时,(foo.proto作为第一个原因),我生成了两个golang文件,但我必须将它们放入2目录(你不能把不同的包名文件放在同一个目录下,golang)foo/foo.pb.gobar/bar.pb.go但在bar.pb.go中,导入使用的

go - Win10,戈兰。协议(protocol)-I。 --go_out=plugins=grpc : . proto/hello/hello.proto .: 权限被拒绝

软件环境:Win10,Goland。去版本:go1.9.1windows/amd64.协议(protocol)——版本:libprotoc3.5.1当我执行命令时。结果如下protoc-I.--go_out=plugins=grpc:.proto/hello/hello.proto.:Permissiondenied我尝试以管理员身份运行。我可以完全控制所有文件。现在我该怎么做。 最佳答案 我遇到了同样的问题。我发现错误消息具有误导性。这是对我有用的:改变这个:protoc-I.--go_out=plugins=grpc:.prot

go - Win10,戈兰。协议(protocol)-I。 --go_out=plugins=grpc : . proto/hello/hello.proto .: 权限被拒绝

软件环境:Win10,Goland。去版本:go1.9.1windows/amd64.协议(protocol)——版本:libprotoc3.5.1当我执行命令时。结果如下protoc-I.--go_out=plugins=grpc:.proto/hello/hello.proto.:Permissiondenied我尝试以管理员身份运行。我可以完全控制所有文件。现在我该怎么做。 最佳答案 我遇到了同样的问题。我发现错误消息具有误导性。这是对我有用的:改变这个:protoc-I.--go_out=plugins=grpc:.prot

go - 在自己的原型(prototype)上导入 vendor 原型(prototype)

如何将外部(在vendor文件夹中)原型(prototype)导入我自己的原型(prototype)?我正在使用这个:syntax="proto3";packagecommand;optiongo_package="api";import"github.com/service/command.proto";serviceCommandService{rpcPush(Command)returns(PushResponse);}messagePushResponse{stringid=1;}但是我收到一个错误,提示找不到文件:>protoc-Iapiapi/command.proto--