【问题标题】:How to connect to the local google cloud Datastore db?如何连接到本地 google cloud Datastore db?
【发布时间】:2014-02-11 13:19:45
【问题描述】:

我有一个 GAE 应用程序,它在 Google Cloud Datastore 中创建一些数据并将一些二进制文件存储到 Google Cloud Storage 中 - 我们将应用程序称为 WebApp。 现在我在 Google 计算引擎上运行了一个不同的应用程序。我们将应用程序称为 ComputeApp

ComputeApp 是一个后端进程,用于处理由WebApp 创建的数据。我之前在这里问过in this question,我可以使用哪个 API 从 ComputeApp 与 Datastore 进行通信。正如@proppy 所建议的,我使用Google Cloud Datastore API 实现了Datastore 通信。

就我与 Google 云中的数据存储区通信而言,一切正常。我正在使用服务帐户身份验证。

现在我需要在我的开发 PC 上本地运行我的 ComputeApp,以便我将本地 WebApp 创建的数据存储到本地调试数据存储中。我需要它是因为我想要一个测试环境,这样我就可以在本地调试可能的 GAE 应用程序。

我应该如何修改我的 ComputeApp 代码以强制它连接到我的本地调试数据存储区,而不是连接到 Google 云?

我搜索了很多,没有找到任何建议或示例。我发现唯一可能的方法是我应该完全重写我的代码并使用不同的 API 来做到这一点。这就是数据存储远程 API。 这真的是唯一的方法吗?我真的应该重写整个 ComputeApp 以连接到 local 数据库吗? 真的吗?

我希望我只是忽略了一些重要的事情,这不是真的......

【问题讨论】:

    标签: java google-app-engine google-cloud-storage google-compute-engine google-cloud-datastore


    【解决方案1】:

    Google Cloud Datastore 有一个您可以使用的本地开发服务器:https://developers.google.com/datastore/docs/tools/devserver

    您可以使用上面文档中链接的 gcd 工具创建和启动本地数据存储。

    如果您使用DatastoreHelper.getDatastoreFromEnv(); 来构建您的数据存储,您可以通过导出环境变量DATASTORE_HOST 来告诉它连接到您的本地数据库:

    export DATASTORE_HOST=http://localhost:8080
    

    【讨论】:

    • @Fipil 你找到答案了吗?
    • 还没有@Ralf。我发现唯一可能的方法是在我的 WebApp 中实现我自己的 WriteToStorage 和 ReadFromStorage 方法,并在我想与本地 STORAGE 通信时调用它。
    • 我删除了有关存储的所有引用,我将创建另一个问题。所以这个问题只和Datastore有关。
    猜你喜欢
    • 2017-09-09
    • 2020-02-23
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多