首页 文章

App Engine上的Google Cloud Datastore with Java . 使用哪个包?

提问于
浏览
0

新手到数据存储区 . 我在GCP站点上发现了两个在App Engine上使用Datastore的教程 . 我应该使用哪一个?

API的工作方式有细微差别 .

https://cloud.google.com/datastore/docs/datastore-api-tutorial使用package(import com.google.appengine.api.datastore.Entity;)

https://cloud.google.com/appengine/docs/standard/java/building-app/cloud-datastore使用包(导入com.google.cloud.datastore.Entity)

问题:在App Engine上是否有首选程序包和调用数据存储区API - com.google.cloud.datastore.Entity与com.google.appengine.api.datastore.Entity?

1 回答

  • 2

    具有此包 com.google.appengine.api.datastore (又名"Datastore API for Java")的库旨在供在AppEngine上运行的Java 7和Java 8应用程序使用 .

    具有此包 com.google.cloud.datastore (也称为"Cloud Datastore client library")的库旨在供任何Java 8应用程序使用,无论它在何处部署(GKE,GCE,本地等)

    来自the docs

    Datastore API for Java是内置于App Engine SDK中的低级数据存储区API,可直接访问所有数据存储区功能,并在整个App Engine数据存储区Java文档中进行了描述 . Cloud Datastore客户端库是一个库,可供App Engine标准Java 8运行时中的应用程序,App Engine灵活环境中的应用程序以及非App Engine应用程序使用 .

    因此,根据Google的说法,两者都是有效的选择,受到这些限制......

    • 如果您运行的是Java 7,则无法使用Cloud Datastore客户端库

    • 如果您的应用程序未部署到AppEngine,则无法使用Datastore API for Java

    这些限制描述了无法使用这些库中的一个或另一个的方案 . Google不提供有关应该使用哪一个的建议 . 这是因为这两个库在功能上是等价的,假设上述限制不适用于您的使用,那么选择可能没有实际意义 .

相关问题