Java AWS Lamda环境中的自定义软件
我想在AWS Lambda中运行Python包装器。Python包装器需要通过命令行调用外部程序。我使用Python子流程包来调用外部程序。该程序名为Java AWS Lamda环境中的自定义软件,java,python,aws-lambda,Java,Python,Aws Lambda,我想在AWS Lambda中运行Python包装器。Python包装器需要通过命令行调用外部程序。我使用Python子流程包来调用外部程序。该程序名为embulk——用于批量传输的java应用程序。() 在我的本地Mac上,我安装了embulk,Python包装器成功调用embulk,将Amazon S3数据移动到我们的云数据仓库(在数据仓库上)。为了让这个Python包装器在Lambda上工作,我需要在AWS Lambda环境中安装embulk。有可能吗?或者我需要购买一个EC2实例才能让它工
embulk
——用于批量传输的java应用程序。()
在我的本地Mac上,我安装了
embulk
,Python包装器成功调用embulk
,将Amazon S3数据移动到我们的云数据仓库(在数据仓库上)。为了让这个Python包装器在Lambda上工作,我需要在AWS Lambda环境中安装embulk
。有可能吗?或者我需要购买一个EC2实例才能让它工作?要让Java在Python Lambda环境中运行,需要用Lambda代码打包整个JDK。您必须确保它与AWS使用的x86Linux发行版完全匹配
更好的方法是完全用Java实现代码。创建自己的Java Lambda类,该类调用Embulk现有的主类
如果您对Java不熟悉,可以编写少量Java来实现Lambda处理程序,该处理程序随后调用Jython脚本(Java中的Python),该脚本随后调用Embulk的主要方法
作为一名Python开发人员,如果您已经在使用面向对象的Python,您应该会发现Java相对容易理解。像安装Java环境一样,
embulk
是否有任何要求?那么这在Python lambda上可能不起作用。您通常可以运行任何可以在普通Linux发行版上运行的可执行文件,而无需附加依赖项。Java有单独的Lambda环境…AMI环境已经安装了标准Java。但是,它没有安装embulk。所以…