Google App Engine上的Jython开发

6 google-app-engine jython

有没有人使用Jython和Google App Engine有任何直接经验(好的或坏的)?

Nic*_*son 4

问一个显而易见的问题:你为什么要这样做?(C)Python 由 Google App Engine 原生支持,并且目前已经相当成熟并且得到了很好的支持。

不过,要回答最初的问题:我没有个人经验,但我可以给您一个总体概述:

目前最简单的方法是使用 Jython 对调用 Java 的支持来使用 App Engine Java SDK。这意味着虽然您将编写 Python,但它看起来很像 Java,并且您必须使用 Java 文档,而不是 Python 文档。

不过,理论上可以在 App Engine 上的 Jython 中使用 Python SDK。SDK 是纯 Python,SDK 和运行时之间的所有交互都是通过 google.appengine.api.apiproxy_stub_map 模块通过 RPC 完成的。Java 在 com.google.apphosting.api.ApiProxy 类中有一个等效的接口 - 请参阅有关GAE 中的单元测试的文章,了解有关如何配置它的一些详细信息。

鉴于所有这些,以下是您在 Jython 中使用 Python API 的方法:

  1. 编写一个 Python apiproxy_stub,它只接受所有 API 调用并将它们发送到 com.google.apphosting.api.ApiProxy 类。
  2. 将 Python SDK 的相关部分与您的 Jython 应用程序捆绑在一起(不幸的是,这就是大部分内容)。
  3. 在初始化代码中,安装您编写的 apiproxy_stub 子类,作为所有相关服务(datastore_v3、memcache、user、urlfetch 和图像)的处理程序。

如果您最终这样做了,请记录下来并发布代码 - 我知道至少还有一位其他用户会对此感兴趣。:)

  • Jython 可以直接与 Java、JRuby 等进行互操作,并且使您可以访问一组与旧的 CPython 完全不同的库和工具,因此 Thomas 的问题对我来说听起来很明智(不幸的是,我没有他的经验)要求,所以我无法回答他的问题,但我希望其他人可以)。 (5认同)