java - 库 appengine.api.datastore 和 com.google.cloud.datastore 之间有什么区别?

标签 java google-app-engine google-cloud-datastore datastore

我正在开发一个应用引擎项目并使用 Google 数据存储存储我的数据。我使用的是不同的 Datastore 库,因为它们是示例中使用的库,但我发现我必须同时使用这两种库有点奇怪:

如果我查看文档进行查询,在这个例子中他们使用这个库来处理查询:

com.google.appengine.api.datastore

https://cloud.google.com/appengine/docs/java/datastore/retrieving-query-results

DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); PreparedQuery pq = datastore.prepare(q); Entity result = pq.asSingleEntity();

但是,在这个例子中存储数据,他们使用

com.google.cloud.datastore

https://cloud.google.com/datastore/docs/concepts/entities

Entity task = Entity.builder(taskKey) .set("category", "Personal") .set("done", false) .set("priority", 4) .set("description", "Learn Cloud Datastore") .build();

现在我可以同时使用两者,但我想知道哪一个更适合哪种用途,或者它们是否只是具有不同包的相同库。但是,我正在寻找一种方法来删除其中一个。

最佳答案

com.google.appengine.api.datastore - 专门设计用于部署在 AppEngine 上的应用程序。如果您稍后决定将您的应用程序部署到其他地方(例如 Compute Engine),该 API 将不起作用。

com.google.cloud.datastore - 是新的 API,它允许您从部署在任何地方的应用访问数据存储,而不仅仅是 AppEngine。

com.google.appengine.api.datastore - 有一些其他功能没有(至少现在没有)的附加功能。例如,数据存储区查询中的 OR 条件,与其他 AppEngine 服务(如 MemCache、全文搜索等)集成的能力。

关于java - 库 appengine.api.datastore 和 com.google.cloud.datastore 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40831158/

相关文章:

google-app-engine - 使用 Google App Engine 的分页技术

python - 为什么这个 Google App Engine ndb 祖先查询不起作用?

java - 多列上的 DISTINCT 查询不起作用 - Google App Engine 数据存储区

java - 带符号字节的 6502 的条件分支指令?

java - 停止 Swing 中事件的默认行为

python - 如何支持传入 GAE 电子邮件的不同处理程序?

python - App Engine MySQL 连接到远程数据库失败

python-3.x - 错误值错误 : Unsupported type for property <type 'datetime.date' >

java - Spring Boot资源服务器使用HTTP POST而不是HTTP GET验证 token

java - 安卓工作室 : Unboxing of 'xxx' may produce 'java.lang.NullPointerException'