AWS Lamda环境中的自定义软件

时间:2018-05-15 16:01:32

标签: java python aws-lambda

我想在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实例才能使其正常工作?

1 个答案:

答案 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。