使用GPE将Eclipse SDK添加到Eclipse

时间:2016-10-18 20:01:40

标签: google-app-engine google-cloud-datastore google-plugin-eclipse google-cloud-sdk

我正在尝试使用带有Google插件的Eclipse Mars上的低级API的Cloud Datastore,但我意识到我缺少了Google教程中使用的一些库:

//I was using this
com.google.appengine.api.datastore.Entity;
Entity a = Entity.builder(..) // method does not exist I presume
//and the tutorials use this instead
com.google.cloud.datastore.Entity;

所以在找到本指南后https://developers.google.com/eclipse/docs/using_sdks,我安装了适用于Mac OS X的Google Cloud SDK(google-cloud-sdk-130.0.0-darwin-x86_64.tar),但是当我尝试添加sdk时,我收到错误:无法在/Users/../google-cloud-sdk 2初始化App Engine SDK

这是我打开下载文件并运行 bin / gcloud init 的目录,所以我想应该在那里安装sdk还是不安装?我如何找到它的路径?我应该尝试不同的版本吗?我对终端很糟糕..

你能解释一下班级之间的区别吗?当我将数据存储部署到应用程序引擎时,我认为数据存储区已经在云中了。是否有两种类型的数据存储区?

1 个答案:

答案 0 :(得分:0)

旧的GPE(Google Plugin for Eclipse)基于App Engine Java SDK(appcfg),而不是Cloud SDK(gcloud)。您引用的页面是在Cloud SDK存在之前编写的。我必须更新它以使其更清晰一点。

新的open source GCloud-based Eclipse plugin正在开发中。如果你愿意,你可以在这个早期阶段试一试,但请准备好提交bug。

我从你的问题中注意到的其他一些事情:"实体"是一个相当通用的名称,显示在很多API中,并不是所有的Entity类都是一样的。在这种情况下,虽然com.google.appengine.api.datastore.Entity和com.google.cloud.datastore.Entity都引用了App Engine中的基本BLOB存储,Cloud Datastore,一个NoSQL数据库。但是:

  • com.google.appengine.api.datastore由运行在Google App Engine上的servlet和其他程序用于与Cloud Datastore通信。

  • com.google.cloud.datastore由在您自己的非App Engine计算机上运行的程序用于使用HTTP下的云数据存储区进行通信。

也就是说,如果您正在编写需要存储数据的App Engine应用程序,则只能使用com.google.appengine.api.datastore。您可以将com.google.cloud.datastore用于任何应用程序,无论它是否在App Engine上运行。它们可以从同一个数据库中读取和写入。