我想在AWS Lambda中运行Python包装器。Python包装器需要通过命令行调用外部程序。我使用Python子进程包来调用外部程序。调用的程序是embulk -用于批量传输的java应用程序。(http://www.embulk.org/docs/)
在我本地的Mac上,我安装了embulk,Python包装器成功地调用了embulk,将亚马逊S3数据移动到我们的云数据仓库(在TreasureData上)。为了让这个Python包装器在Lambda上工作,我需要以某种方式将embulk安装在AWS Lambda环境中。这样做有可能吗?或者我需要购买一个EC2实例才能使其正常工作?
发布于 2019-04-09 18:05:25
要让Java在Python Lambda环境中运行,需要将整个JDK与Lambda代码打包在一起。你必须确保它与他们使用的亚马逊网络服务的x86 Linux发行版完全匹配。
更好的方法是完全用Java实现代码。创建您自己的Java Lambda类,它调用Embulk的现有主类。
如果您不熟悉Java,可以编写少量的Java来实现Lambda处理程序,该处理程序将调用一个Jython脚本(Python-in-Java),该脚本随后将调用Embulk的main方法。
作为一名Python开发人员,如果您已经在使用面向对象的Python,那么您应该发现Java相对容易理解。
https://stackoverflow.com/questions/50354628
复制相似问题