猿问

将 Go 项目部署到 AWS Lambda 时出现“PathError”

在通过 AWS 控制台部署这个基于 Go 的 AWS Lambda 项目时,我收到:


{

  "errorMessage": "fork/exec /var/task/main: exec format error",

  "errorType": "PathError"

}

以下是我采取的步骤:

  • marriage-master从 Git下载项目

  • 在终端中,go get "github.com/aws/aws-lambda-go/lambda" 因此脚本可以通过 Go 构建

  • 在终端中,go build main.go创建 Lambda 将用于执行的文件

  • 在终端中,zip main.zip main将文件归档为.zip 以部署到 Lambda

  • 在 AWS 控制台中,上传main.zipFunction code

  • 在 AWS 控制台中,更改Handlermain.


http://img3.mukewang.com/62a705e70001fa7102390217.jpg

但我不断收到此路径错误。知道我做错了什么吗?



繁星coding
浏览 158回答 3
3回答

尚方宝剑之说

要在 AWS Lambda 中部署 Go 应用程序,请运行以下命令:构建针对 Linux OS 和 amd64 架构的二进制文件GOARCH=amd64 GOOS=linux go build main.go -ldflags="-s -w"压缩二进制文件zip lambda.zip 主直接从 AWS Lambda 控制台上传此二进制文件,或将其放入 S3 存储桶并导入。您已经处理了 lambda 配置。

HUX布斯

尝试不带标志:GOARCH=amd64 GOOS=linux go build main.go

弑天下

这样GOARCH=amd64 GOOS=linux go build main.go做对我有用。
随时随地看视频慕课网APP

相关分类

Go
我要回答