使用 GPE 将 Cloud SDK 添加到 Eclipse

Add Cloud SDK to Eclipse with GPE

我正尝试在带有 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 安装了 Google Cloud SDK OS X(google-cloud-sdk-130.0 .0-darwin-x86_64.tar) 但当我尝试添加 sdk 时,出现错误:无法在 /Users/../google-cloud-sdk 2

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

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

旧的 GPE(Google Eclipse 插件)基于 App Engine Java SDK (appcfg),而不是 Cloud SDK (gcloud)。您引用的页面是在 Cloud SDK 存在之前编写的。我将不得不更新它以使它更清楚一点。

新的 open source GCloud-based Eclipse plugin 正在开发中。如果愿意,您可以在早期试用,但请准备好提交错误。

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

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

  • com.google.cloud.datastore 由在您自己的非 App Engine 计算机上 运行 的程序使用,以在后台使用 HTTP 与 Cloud Datastore 通信。

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