从JAR为AWS Lambda运行二进制可执行文件

时间:2020-02-25 07:36:21

标签: amazon-web-services maven jar aws-lambda software-packaging

我需要从JAR文件运行wdiff。在本地,我通过调用一个进程来运行此进程,该进程运行在Linux服务器上手动安装的wdiff二进制文件或Windows上方便的附近文件夹中的wdiff.exe

现在,我需要部署到AWS Lambda,并且不能依赖wdiff(或其依赖项,diff)进行安装。那么如何让wdiff在Lambda上运行?

我猜这里有两个可能的问题/解决方案:

  1. 是否可以在AWS Lambda容器上包含第三方二进制文件?
  2. 是否可以在JAR文件中捆绑可执行二进制文件并通过代码执行它?

1 个答案:

答案 0 :(得分:1)

使用所需的二进制文件创建一个Lambda layer。您可以从类似于AWS Lambda one的运行时中获取/usr/bin/wdiff。在您的情况下,几乎任何Linux都可以。如果未安装任何其他依赖项中的diff,则将其放入同一层。

然后,您可以像通常的外部程序一样,在jar中调用二进制文件,例如使用ProcessBuilder