运行 来自 AWS Lambda 的 JAR 的二进制可执行文件

Run a binary executable from a JAR for AWS Lambda

我需要从 JAR 文件中 运行 wdiff。在本地,我通过调用 运行 手动安装在 Linux 服务器上的 wdiff 二进制文件或位于 Windows.

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

我猜这里有两种可能questions/solutions:

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

创建一个Lambda layer with the binary you need. You can get /usr/bin/wdiff from a runtime similar to the AWS Lambda one。在您的情况下,几乎任何 linux 都可以。如果 diff 没有安装任何其他依赖项,则放入同一层。

然后你可以调用 jar 中的二进制文件作为通常的外部程序,例如 ProcessBuilder