草庐IT

google-app-engine - 如何在 App Engine/Heroku 中以 worker 身份运行非 Web Go 应用程序

我有一个由golang编写的网络应用程序。还有一个独立的数据提取器作为独立应用程序单独运行,以收集数据并将其存储在数据库/数据存储中。如何在托管环境中以工作人员的身份运行此数据getter,例如应用引擎/Heroku 最佳答案 在应用引擎中,您可以将加载器重构为一个或多个任务。例如https://github.com/mjibson/goread/blob/master/tasks.go和https://github.com/mjibson/goread/blob/master/app/queue.yaml使用任务从RSS提要更新数

google-app-engine - 要传递给 appengine/file.Delete() 的 fileName 的值是?

我想知道当你从gae/go中删除一个gcs文件时要传递的文件名是什么。虽然传递了“/gs/{bucketname}/{filename}”,但返回错误信息“RPCerrorUNKNOWN_ERROR:”packagemainimport("appengine""appengine/file""net/http")funchandle(whttp.ResponseWriter,r*http.Request){c:=appengine.NewContext(r)file.Delete(c,"/gs/{bucketname}/{filename}")} 最佳答案

google-app-engine - Google App Engine - ByteString 查询失败

我正在开发一个Go应用程序,其中我有一个实体,该实体具有一个属性,该属性包含一个标识token,该token是一个随机字节串。我将此属性存储为ByteString,并且在我的开发环境中,我已经能够使用以下形式的过滤器查询此属性://tokenisa[]byteidTok:=datastore.ByteString(token)q:=ds.NewQuery("Entity").Filter("IDToken=",idTok)varentities[]Entitykeys,err:=q.GetAll(c,&entities)但不幸的是,当作为模块部署到GAE时,此查询返回错误:datast

google-app-engine - Golang 谷歌存储可恢复上传 HTTP 401

嘿,我正在尝试实现到云存储的可恢复上传。但是我得到一个Status:"401Unauthorized",StatusCode:401我假设它与承载有关,但我想不出另一种方式来发送承载token。我已经能够使用GetClinet方法删除文件。funcGetClinet(cendpoints.Context)*http.Client{cli:=&http.Client{Transport:&oauth2.Transport{Source:google.AppEngineTokenSource(c,storage.ScopeReadWrite),Base:&urlfetch.Transpor

google-app-engine - 从任务队列中解码正文响应

我正在使用go和google任务队列来创建一些同步作业。我成功地将数据传递给工作方法,但我无法解码数据以使用它。我尝试了不同的方法,但我遇到了一个解码错误errum&json.SyntaxError{msg:"invalidcharacter'i'inliteralfalse(expecting'a')",Offset:2}这就是我将数据发送到队列的方式keys:=make(map[string][]string)keys["filenames"]=req.FileNames//[]stringt:=taskqueue.NewPOSTTask("/deletetask",keys)_,

unit-testing - Google App Engine 数据存储 - 测试查询失败

我目前正在尝试测试我的一段代码,该代码在放入新实体之前在数据存储上运行查询以确保不会创建重复项。我编写的代码在应用程序的上下文中运行良好,但我为该方法编写的测试失败了。似乎我无法通过测试包上下文中的查询访问放入数据存储区的数据。一种可能性可能在于goapptest的输出,其中显示:Applyingallpendingtransactionsandsavingthedatastore。这行在调用get和put方法后打印出来(我用日志语句验证了这一点)。我尝试关闭上下文并为不同的操作创建一个新上下文,但不幸的是,这也无济于事。下面是一个简单的测试用例,它放入一个对象然后对其运行查询。任何帮

google-app-engine - 将字符串数据转换为在 Go AppEngine 上读取的结构 : Inserted on Java AppEngine (Objectify),

简介你好,我正在GoAppEngine上做一个模块,我在读取一些模型时遇到问题,这些模型内部有嵌套模型。模型是Party,我要的是Permissions。但是,当我从数据存储中获取Party时,权限结构字段的类型为字符串。//AndwhenIdofmt.Println(party.Permissions)showthis:%!(EXTRAstring=jjrz�5878654076715008*��jjrzshowOnMessages*zcanInviteAssistants*zcanInviteOrganizers*z canEditEvent*zroleName*

google-app-engine - 在达到 30 秒限制之前抛出 AppEngine 数据存储区超时错误

使用AppEngineGo,从40k实体顺序的表中读取时,我一直看到此错误:API错误5(datastore_v3:TIMEOUT):数据存储操作超时,或数据暂时不可用。这是在查询触发后的400毫秒内发生的。除了达到挂钟的限制之外,是否还有其他原因可能导致此错误?谢谢! 最佳答案 事实证明,每个单独的API调用都有5秒的超时。如果您需要更多时间,您可以像这样包装您的上下文:ctx:=appengine.Timeout(appengine.NewContext(req),30*time.Second)

google-app-engine - 如何过滤 GAE 查询?

我正在尝试保存两条记录,然后获取第二条记录。问题是过滤器似乎不起作用。尽管我按姓名(“AndrewW”)过滤,但我总是得到“JoeCitizen”。计数器还指示2条记录,而它应该只是一条记录。这让我发疯。请参阅下面的完整代码。结果打印counter2e2{"JoeCitizen""Manager""2015-03-2409:08:58.363929+0000UTC"""}packagemainimport("fmt""time""net/http""google.golang.org/appengine""google.golang.org/appengine/datastore")t

google-app-engine - 祖先查询直接后代 - Google 数据存储

我正在使用Go和GoogleDatastore在GoogleAppEngine中构建一个目录应用程序。我正在使用数据存储的Ancestor功能来管理不同的产品类别。这是一些数据的示例:乐器->吉他->Gibson->LesPaul乐器->吉他->Fender->Stratocaster乐器->低音吉他->音乐人->Stingray乐器是根实体。当我单击它时,我希望看到Guitars和BassGuitars,但我看到的是所有MusicalInstruments的后代到最后一个实体。这不是我要找的。目前我只对Musicalinstruments的直系后代感兴趣。一些帖子,likethiso