我是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以连接到本地数据库? 真的?
我希望我只是忽略了一些重要的事情而且这不是真的......
答案 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