我已经部署了一个使用数据存储的 GAE Java 应用程序。 现在,我需要将该应用程序拆分为模块,并使用用 Python 编写的第二个模块来访问同一数据存储区。 我找不到有关如何以以下方式在模块中拆分应用程序的有用信息:
- 它在第一个模块中支持 Java,在第二个模块中支持 Python
- 两个模块都可以访问相同的数据存储(我猜这意味着,因为它们都是同一 GAE 应用程序的一部分)
主要问题是:使用不同的编程语言定义这两个模块的步骤是什么。
提前致谢。
最佳答案
您可以使用 app.yaml
来配置您的主 (Java) 模块,详情请参阅 https://cloud.google.com/appengine/docs/java/configyaml/appconfig_yaml ,并单独的 .yaml
文件来配置其他(Python、PHP 和/或 Go——或者其中一些也可以是 Java!-))模块,详细信息请参见 https://cloud.google.com/appengine/docs/python/modules/#Python_Configuration .
正如您所怀疑的,所有模块总是确实访问完全相同的数据存储实例。
例如,您可以在app.yaml
...:
application: myapp
version: alpha-001
runtime: java
api_version: 1
handlers:
- url: /myjava/*
servlet: myapp.myservlets.DoItAllServlet
将所有 url /myjava/something
映射到该单个 servlet,例如 mypython.yaml
application: myapp
module: mypython
version: v1
runtime: python27
handlers:
- url: /mypy/*
script: mypython.app
将所有 URL /mypy/something
映射到绑定(bind)到模块 mypython.py
中的全局变量 app
的单个 WSGI 应用程序。当然,主(“默认”)模块和其他模块都有大量的自由度,我只是想在这里展示最简单的“骨架”!-)
关于java - 如何在现有的Java应用程序中添加Python模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29055492/