Tag: 谷歌应用程序内引擎

API调用datastore_v3.Put()的请求太大了

我正在使用带有appengine的谷歌云sql。 我收到com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call datastore_v3.Put() was too large. 尽管我没有使用Datasotre API。 我认为根据文档https://developers.google.com/appengine/docs/java/cloud-sql/developers-guide#access_limits ,数据大小限制是在60秒内提供16MB。 我的数据大小约为1 MB,我的响应肯定不到1分钟。 如果我尝试使用较小的数据,一切正常。 那么,为什么抛出exception呢? 问题是什么 ? 这是谷歌应用引擎中的错误吗? 或者是否有尺寸限制,在哪里记录? 或者是什么 ?

在谷歌应用引擎(Java)上解析JSON

我使用org.json库来处理我的应用程序中的JSON数据。 但似乎谷歌应用程序引擎不允许使用它,在GAE应用程序上使用JSON的最佳方式是什么?

此API不支持解析表单编码输入

我试图将数据提交到端点,但它说数据大小太大,所以我将方法更改为POST并收到错误: This API does not support parsing form-encoded input. 接下来我将类型更改为application / json,仍然使用post,现在我得到: { “error”: { “errors”: [ { “domain”: “global”, “reason”: “parseError”, “message”: “Parse Error” } ], “code”: 400, “message”: “Parse Error” } } 将大量数据(即2730字节)发布到端点并让它正确处理的最佳方法是什么? 在我的情况下,有问题的字段是Text类型,因为我超过500个字符限制,app引擎要保存在String中。 此外,与许多事情一样,这在我的本地计算机上运行良好,它只在实时应用程序引擎实例上提供此错误。 谢谢!

GAE / J:如何将多部分MIME消息从appengine发布到facebook

我想将照片(存储在appengine db中)发布到facebook。 为了测试我已经在本地获得了基本的理解:我已成功使用这种forms: (我从最近的一次会话中抓住了access_token来完成这项工作。) 这是迄今为止我尝试过的关于appengine 失败的原因 : MultipartEntity mpEntity = new MultipartEntity(); ContentBody cbFile = new ByteArrayBody(imageBytes, “image/jpeg”, “w.jpg”); mpEntity.addPart(“source”, cbFile); URL url = new URL(“https://graph.facebook.com/”+albumUpload.getAlbumID()+”/photos?access_token=”+albumUpload.getAuthToken()); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestMethod(“POST”); mpEntity.writeTo(connection.getOutputStream()); if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) { System.err.println(“http success!”); }else{ System.err.println(“http failed:”+connection.getResponseCode()); } 我得到一个HTTP 400 – 错误的请求。 我添加了这些以确保它正在做某事: System.out.println(“mpEntity image content length: “+cbFile.getContentLength()); […]

无法加载多个版本的AppEngine项目并查看HardDeadLineExceededexception

突然,在没有警告的情况下,我的AppEngine项目将不再加载到浏览器中。 http://my.loopto.do 。 旧版本的应用程序也会发生这种情况。 以下是500错误。 我知道DeadlineExceededException是什么。 我不明白的是为什么会发生这种情况,即使是以前工作正常但没有问题的版本。 日志一直转到ALL,似乎没有说明问题是什么。 另一个有趣的观点是,相同的代码库在上传到不同的appspot域时会加载而不会出现问题。 – 因此,代码在一个appspot域上运行,但不在另一个域上运行,将代码隔离为常量。 – 此外,之前在破坏的appspot域上工作的旧版本也遇到HardDeadlineExceededError。 – 应用程序还可以使用最新的SDK 1.6.2.1在localhost上正常加载。 我认为这是一个Appengine问题,因为日志没有显示我的代码正在破坏的位置。 我该怎么做才能解决这个问题? 这是StackTrace: 2012-02-23 12:50:06.744 /loop/?t=1330030019399 500 187376ms 1kb Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1 50.43.101.83 – user.name [23/Feb/2012:12:50:06 -0800] “GET /loop/?t=1330030019399 HTTP/1.1” 500 1309 “http://0-9-2012-2-23.loopaback.appspot.com/” “Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 […]

“获取时超时”URLFetch GAE / J.

我正在使用XMLReader来简单地读取如下所示的提要。 URLConnection urlConnection = url.openConnection(); XmlReader reader = new XmlReader(urlConnection); 当调用它时,我会在5秒内收到IOException“获取时超时”。 所以我试着将超时设置为最大值。 (10秒)但仍然没有运气,并且在5秒内仍然是IOExeption。 urlConnection.setConnectTimeout(10000); (最大值在文档中说明: http : //code.google.com/intl/nl-NL/appengine/docs/java/urlfetch/overview.html ) 似乎饲料的尺寸太大。 当我拨打较小的Feed时,它可以正常工作。 有没有解决方法或解决方案? 我需要能够调用更大的Feed。

即使没有指定@Load,Objectify也会在Ref 后面加载对象

我有一个引用用户对象的帐户对象。 @Cache @Entity public final class Account { @Id Long id; @Index private Ref user; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public User getUser() { return user.get(); } public void setUser(User user) { this.user = Ref.create(user); } } 我按照此处的建议隐藏了参考资料: http : //code.google.com/p/objectify-appengine/wiki/Entities – 请注意参考资料没有 @Load注释。 […]

Google App Engine使用appcfg.sh进行回滚

由于部署失败,我正在尝试进行回滚,我的服务器代码在java上,而且我正在使用App Engine Eclipse PlugIn。 我的appcfg.sh文件位于/Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.7.5/appengine-java-sdk-1.7.5/bin/appcfg.sh 但是当我尝试这个sudo /Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.7.5/appengine-java-sdk-1.7.5/bin/appcfg.sh rollback /Documents/workspace/server_side/war时,我得到“Command not sudo /Applications/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.7.5/appengine-java-sdk-1.7.5/bin/appcfg.sh rollback /Documents/workspace/server_side/war 我无法意识到什么是错的。 我不知道是不是正确的appcfg,因为有appcfg.cmd和appcfg.sh,我正在使用imac(Unix enviro)所以我使用appcfg.sh进行回滚。 我试过几种不同的方式。 并没有什么好事发生。 也许我错过了什么。 谢谢!

GAE:如何有效地将面向对象的设计映射到Appengine数据存储区

让我们假设我有以下对象模型(你可以自由地改变它,我的兴趣只是有效地映射), public class Product{ private String someAttribute; //… } // A Seller who has a lot of products to sell, More than one Seller can sell the same Product public class Seller{ private List products; //… } public class Offer{ // who is offering private Seller seller; // multiple products can make an offer private […]

如何在Eclipse中重新启动Google App Engine Java Server?

好吧,也许我是愚蠢/盲目的,但在文档中它说“重建并重新启动服务器”。 但我没有看到按钮在任何地方这样做。 或者从任何上下文菜单。 我在他们的文档中找不到任何解释如何做的事情。 如果我只是尝试再次启动应用程序,它会生气,因为我已经在所需的端口上运行了App Engine。 我发现只有解决方案才能重启Eclipse …还有其他想法吗? 如果可能的话,按钮的屏幕截图会有所帮助。 🙂