如何连接到本地谷歌云数据存储区?

时间:2014-02-11 13:19:45

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

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

ComputeApp 是一个后端流程,负责处理 WebApp 创建的数据。我之前在in this question询问了我可以使用哪种API与 ComputeApp 中的数据存储区进行通信。根据@proppy的建议,我使用Google Cloud Datastore API实现了数据存储区通信。

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

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

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

我google了很多,没有找到任何建议或示例。只有可能的方式我发现我应该完全重写我的代码并使用不同的API来做到这一点。这就是Datastore Remote API。 这真的是唯一的方式吗?我是否应该重写整个ComputeApp以连接到本地数据库? 真的?

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

1 个答案:

答案 0 :(得分:2)

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

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

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

export DATASTORE_HOST=http://localhost:8080