【发布时间】:2014-09-09 13:51:23
【问题描述】:
我有一个结构如下的多模块 GAE 应用程序:
- 一个 Python27 模块,它是一个常规的 Web 应用程序。此 Python 应用程序使用 Datastore API。常规、无聊的网络应用。
- 一个 Java 模块(另一个 Web 应用程序),它挂钩 Datastore 调用(由 Python Web 应用程序进行的调用),并显示有关记录的 Datastore 调用的聚合数据。
我已经能够在 GAE 云上部署这个应用程序,一切正常。
但是,当我想在 localhost 上运行我的应用程序时会出现问题。
Python 模块必须使用 Python SDK 启动。 Java 模块必须使用 Java SDK 启动。 但是,这 2 个 SDK 似乎不共享相同的数据存储(我相信 2 个 SDK 写入/读取磁盘上的单独文件)。
在我看来,这 2 个 SDK 在开发控制台实现的推进方面也有所不同。 与 Java SDK 相比,Python SDK 具有更干净、更“新近”的开发控制台(类似于新的 console.developers.google.com 控制台),Java SDK 具有旧版本的开发控制台(类似于旧的apppot.com 控制台)
所以我的问题是,有没有办法启动共享相同数据存储文件的 2 个以上模块(使用不同的语言:Python、Java)?这很好,因为它允许 Java 模块挂钩 Python 数据存储调用,目前这似乎是不可能的。
【问题讨论】:
-
好问题。您是否尝试过在 Java 运行配置中指定
local_db.bin的路径?您可以在 VM args-Dappengine.generated.dir=<path_to_directory_containing_local_db>中提供以下内容。我会先做一个备份,以防 Python SDK 破坏它,但有兴趣听到结果,因为我们很快需要做同样的事情。
标签: java python google-app-engine module google-cloud-datastore