【问题标题】:How to access GAE datastore with Objectify and service account credentials?如何使用 Objectify 和服务帐户凭据访问 GAE 数据存储?
【发布时间】:2014-05-05 09:32:11
【问题描述】:

一个 GAE 应用程序是否可以使用 Objectify 访问另一个 GAE 应用程序的数据存储(两个应用程序都托管在同一个 Google 帐户下)?如果是这样,我如何将服务帐户凭据传递给 Objectify(哪些 API 调用)?

【问题讨论】:

    标签: google-app-engine google-cloud-datastore objectify


    【解决方案1】:

    这是不可能的Objectify 是一个非常简单方便的轻量级 ORM,它位于 GAE Datastore 之上,从而使开发人员免于使用 JDO/JPA 的大部分复杂性。

    我在文档中没有看到您所描述的场景,因为这不是它试图解决的问题。

    我怀疑您可能需要做的是创建一个 Web 服务,通过 API 公开您的 GAE 应用程序(您想要的数据)。然后让您的其他 GAE 应用程序调用这些服务方法来获取它需要的数据。

    或者,您可以使用名为remote_api 的名称。它允许您远程访问和操作 GAE 数据存储。

    以下是我在发布答案后发现的一些类似问题的链接:

    Can I access Datastore entities of my other Google App Engine Applications

    Can one application access other applications data querying the key in Google App Engine?

    【讨论】:

    • 我现在假设 JDO/JPA 也不允许我这样做。你能确认一下吗?
    • Objectify 可以与远程 API 一起使用。请参阅developers.google.com/appengine/docs/java/tools/remoteapi 要小心一点,因为您需要自己管理 ObjectifyFilter 的工作(基本上,在每个逻辑远程请求结束时调用 ObjectifyFilter.complete())。
    【解决方案2】:

    解决方案是只有一个“GAE 应用程序”,但在您的应用程序中制作不同的模块。数据存储区将在模块之间共享。

    另一种解决方案是使用远程 API (https://developers.google.com/appengine/docs/java/tools/remoteapi),但我认为您将无法使用 Objectify...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多