Lambda使用golang环境

创建golang二进制

golang代码如下(main.go):

// main.go
package main

import (
	"github.com/aws/aws-lambda-go/lambda"
)

func hello() (string, error) {
	return "Hello λ!", nil
}

func main() {
	// Make the handler available for Remote Procedure Call by AWS Lambda
	lambda.Start(hello)
}

将golang代码打包成二进制zip:

GOOS=linux GOARCH=amd64 go build -o bootstrap main.go
zip lambda-handler.zip bootstrap

生成一个lambda-handler.zip文件,后面会用到。

创建lambda

在aws lambda页面,创建一个新的function,运行环境选择Amazon Linux 2023,由于上面打成的是x86镜像,所以要对应上:

![image-20250908154414547](/Users/kpingfan/Library/Application Support/typora-user-images/image-20250908154414547.png)

创建完成后,选择从zip上传,使用第一步的文件:

image-20250908154503136

上传完成后,创建一个测试事件:

image-20250908154612176

进行测试,golang二进制运行成功:

image-20250908154637776

参考: https://docs.aws.amazon.com/lambda/latest/dg/golang-handler.html