Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AWS Lamda环境中的自定义软件_Java_Python_Aws Lambda - Fatal编程技术网

Java AWS Lamda环境中的自定义软件

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实例才能让它工

我想在AWS Lambda中运行Python包装器。Python包装器需要通过命令行调用外部程序。我使用Python子流程包来调用外部程序。该程序名为
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。所以…