登录
首页 >  Golang >  Go问答

在 AWS Lambda 上部署 Go 项目时遇到“PathError”问题

来源:stackoverflow

时间:2024-02-22 14:27:23 475浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《在 AWS Lambda 上部署 Go 项目时遇到“PathError”问题》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

通过 aws 控制台部署这个基于 go 的 aws lambda 项目时,我收到:

{
  "errorMessage": "fork/exec /var/task/main: exec format error",
  "errorType": "PathError"
}

以下是我采取的步骤:

  • 从 git 下载了 marriage-master 项目
  • 在终端中,go 获取“github.com/aws/aws-lambda-go/lambda”,以便可以通过 go 构建脚本
  • 在终端中,go 构建 main.go 以创建 lambda 将用于执行的文件
  • 在终端中,zip main.zip main 将文件存档为 .zip 以便部署到 lambda
  • 在aws控制台中,上传main.zip函数代码
  • 在 aws 控制台中,将 handler 更改为 main

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


解决方案


要在 aws lambda 中部署 go 应用程序,请运行以下命令:

  1. 构建针对 linux 操作系统和 amd64 架构的二进制文件

    goarch=amd64 goos=linux go build main.go -ldflags="-s -w"

  2. 压缩二进制文件

    zip lambda.zip 主文件

  3. 直接从 aws lambda 控制台上传此二进制文件或将其放入 s3 存储桶中并导入。

您已经完成了 lambda 配置。

尝试不使用标志:

GOARCH=amd64 GOOS=linux go build main.go

理论要掌握,实操不能落!以上关于《在 AWS Lambda 上部署 Go 项目时遇到“PathError”问题》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>