草庐IT

endpoints-proto-datastore

全部标签

go - 生成 Golang grpc + 自定义 proto 对象

我正在尝试生成一个返回自定义原型(prototype)对象的gRPC客户端。这是我当前的原型(prototype)命令protoc-I.:../--go_out=plugins=grpc:Muser/messages.proto=github.com/.../.../user:.消息.proto这是错误Muser/messages.proto=github.com/.../.../user:./:没有那个文件或目录但是这个命令:协议(protocol)-I.:../--go_out=Muser/messages.proto=github.com/.../.../user:.消息.pro

google-app-engine - go-endpoints oauth2 用户始终为零

如何让apiexploreroauth2为go-endpoints工作?(范围https://www.googleapis.com/auth/userinfo.email)func(gs*GreetingService)Store(r*http.Request,req*Request,resp*Response)error{c:=appengine.NewContext(r)u:=user.Current(c)ifu!=nil{c.Infof("Hello,%v\n",u)}ifu!=nil{fmt.Printf("Hello,%v\n",u)}}u始终为nil,在java中我必须添加

google-app-engine - "datastore: internal error: server returned the wrong number of entities"检索不存在的对象时

使用GoogleAppEngine的goAPI,我尝试检索一个不存在的对象:funcentityKey(cappengine.Context,namestring)*datastore.Key{collectionKey:=datastore.NewKey(c,"EntityCollection","default_entitycollection",0,nil)returndatastore.NewKey(c,"Entity",name,0,collectionKey)}//.....varrecordEntityRecord//Somerandomtypekey:=entityKe

google-app-engine - GAE Cloud Endpoints API Explorer 停止工作

API浏览器(localhost:8080/_ah/api/explorer)突然停止工作。这是“goappserve”给出的消息:WARNING2015-12-1517:54:24,744dispatcher.py:762]Skippingdispatch.yamlrulesbecause/_ah/spi/BackendService.getApiConfigsisnotadispatchablepath.2015/12/1517:54:24DEBUG:SPIrequestbody:{}INFO2015-12-1517:54:24,746module.py:787]default:"

c++ - 无法在 gRPC 中使用 proto 3.0 缓冲区生成客户端代码

我正在尝试在gRPC中生成客户端和服务器代码。我已经从github安装了grpc目录并尝试生成C++代码。我安装了原型(prototype)编译器3.0.0。当我执行协议(protocol)时,出现以下错误$protoc-I../../protos/--grpc_out=.--plugin=protoc-gen-grpc=grpc_cpp_plugin../../protos/helloworld.protogrpc_cpp_plugin:programnotfoundorisnotexecutable--grpc_out:protoc-gen-grpc:Pluginfailedwit

go - 在 proto3 文件中为 Golang 和 C# 使用 IP 字段(IPV4 或 IPV6)的更好方法是什么

我想在proto3消息中使用IP字段。我应该使用proto3中的哪种类型来表示相同的内容。该字段将由Golang和C#实现使用。我应该使用字符串吗?或IPV4的fixed32和IPV6的字节数?messagexyz{stringip_addr=1;}或messagexyz{oneofip_addr{fixed32v4=1;bytesv6=2;}如果是第二个,那么在Golang实现中如何编码呢?例如,我应该先构造一个具有有效IP地址的字符串,然后将其转换为fixed32格式还是如何? 最佳答案 如果您在这里没有性能限制,我会使用字符串

google-cloud-datastore - 更新数据存储实体 - 在不更改实体键的情况下更改祖先

是否可以在不更改实体键的情况下更新实体的祖先?我如何在Go中完成它?我有一个类似这样的层次结构:公司/部门/员工开始时没有员工部门:公司/员工。然后,当他/她被分配到一个部门时,我想将其更改为:公司/部门/员工,但我希望实体键保持不变,因为它已经在其他地方用于引用该实体。 最佳答案 Isitpossibletoupdatetheancestorofanentitywithoutchangingtheentitykey?我不这么认为。祖先是key的一部分。HowwouldIaccomplishthatinGo?你需要在这里使用实体组吗

go - 在 Datastore 中存储长文本

Datastore是否适合存储非常长的文本,例如个人资料描述和文章?如果不是,GoogleCloud的替代方案是什么?如果是,那么理想的存储方式是什么以保持换行符和Markdown支持关键字等格式?简单地存储为字符串或转换为字节?我应该担心脏用户输入吗?我需要它用于Go项目(我不认为语言是相关的,但也许Go对此有一些有用的特性) 最佳答案 是的,如果您不介意某些限制,它是合适的。这些限制是:整体实体大小(属性+索引)不得超过1MB(这对于配置文件和大多数文章应该没问题)无法为超过一定限制(目前为1500字节)的文本编制索引,因此实体

google-app-engine - Google Datastore - 看不到每个实体组限制每秒 1 次写入

我读过很多关于强一致性与最终一致性、使用祖先/实体组以及Google数据存储的每个实体组每秒写入1次的限制。但是,在我的测试中,我从未遇到异常这些数据存储实体上的争用过多。请再试一次。我正在尝试了解我是否误解了这些概念或遗漏了一block拼图。我正在创建这样的实体:funcusersKey(cappengine.Context)*datastore.Key{returndatastore.NewKey(c,"User","default_users",0,nil)}func(a*UserDS)UserCreateOrUpdate(cappengine.Context,usermodel

google-app-engine - 如果没有小数,Google Cloud Datastore 会将 float 存储为 int,我该如何解析它?

为了进行测试,我正在使用开发人员的控制台并将一个实体类型的帐户输入到数据存储区中。typeAccountstruct{Balancefloat64Useridint}如果我输入的余额为10,则在使用我的Go应用程序“获取”实体时会得到以下信息。Balance:0Userid:1但是,如果我将Balance更改为10.1,那么我会得到预期的结果Balance:10.1Userid:1这有点意料之中。但是,如果我存储一个小数点后没有任何内容的float,它就会变成INT类型。在这种情况下,如果我的余额没有像1.00这样的小数,它就不会加载到我的结构中。(它将删除两个00)