我想在AWS Lambda中运行Python包装器。 Python包装器需要通过命令行调用外部程序。我使用Python子进程包来调用外部程序。调用的程序是embulk
- 一个用于批量传输的java应用程序。 (http://www.embulk.org/docs/)
在我的本地Mac上,我安装了embulk
,Python包装器成功调用embulk
将Amazon S3数据移动到我们的云数据仓库(在TreasureData上)。为了使这个Python包装器能够在Lambda上工作,我需要在AWS Lambda环境中安装embulk
。有可能吗?或者我是否需要购买EC2实例才能使其正常工作?
答案 0 :(得分:0)
要使Java在Python Lambda环境中运行,将需要您将整个JDK与Lambda代码打包在一起。您必须确保它与他们使用的AWS的x86 Linux发行版完全匹配。
更好的方法是完全用Java实现代码。创建您自己的Java Lambda类,以调用Embulk现有的主类。
如果您对Java不满意,可以编写少量Java来实现Lambda Handler,然后再调用Jython脚本(Python-in-Java),然后再调用Embulk的main方法。 / p>
作为Python开发人员,如果您已经在使用面向对象的Python,则应该找到相对容易理解的Java。