编译静态链接的GO可执行文件以在AWS Lambda中使用



上下文:我正试图将一个Go程序(特别是Markus Kont的Go-sigma规则引擎(编译为可执行文件,这样我就可以将其上传到AWS Lambda(根据这篇文章,我相信这是亚马逊的Linux 2(,并通过Python Lambda函数将其包含/执行,该函数向规则引擎程序发出shell/os命令。

问题:这个程序依赖于许多依赖项,为了尽可能少地处理问题,我想在上传到AWS Lambda之前静态链接程序并编译,这样所有必要的依赖项都包含在可执行文件中。

问题:如何静态链接,然后在Go中编译程序,以使我的目标是AWS Lambda操作系统?

这可以通过GOOS=linux go build .完成

Go默认情况下构建静态链接的可执行文件,因此只要目标是正确的操作系统,您就可以获得在AWS Lambda上运行良好的二进制文件,而无需在部署包中包含任何特定的库。

最新更新