AWS Lambda
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Go 中的 AWS Lambda 部署程序包

要创建 Lambda 函数,首先需要创建 Lambda 函数部署程序包(包含代码(Go 可执行文件)和所有依赖项的 .zip 文件)。

在创建部署程序包后,您可直接上传该程序包或先将 .zip 文件上传到要在其中创建 Lambda 函数的 AWS 区域中的 Amazon S3 存储桶,然后指定使用控制台或 AWS CLI 创建 Lambda 函数时的存储桶名称和对象键名称。

使用 go get 下载适用于 Go 的 Lambda 库,并编译您的可执行文件。

~/my-function$ go get github.com/aws/aws-lambda-go/lambda ~/my-function$ GOOS=linux go build main.go

GOOS 设置为 linux 可确保编译的可执行文件与 Go 运行时兼容(即使您在非 Linux 环境中编译它也是如此)。

通过将可执行文件打包为 ZIP 文件来创建部署包,并使用 AWS CLI 创建函数。处理程序参数必须与包含处理程序的可执行文件的名称匹配。

~/my-function$ zip function.zip main ~/my-function$ aws lambda create-function --function-name my-function --runtime go1.x \ --zip-file fileb://function.zip --handler main \ --role arn:aws:iam::123456789012:role/execution_role

在 Windows 上创建部署程序包

要使用 Windows 创建适用于 AWS Lambda 的 .zip,我们建议安装 build-lambda-zip 工具。

注意

如果您尚未完成此操作,则需要安装 git,然后将 git 可执行文件添加到您的 Windows %PATH% 环境变量。

要下载该工具,请运行以下命令:

go.exe get -u github.com/aws/aws-lambda-go/cmd/build-lambda-zip

使用您的 GOPATH 中的工具。如果您有 Go 的默认安装,则该工具通常在 %USERPROFILE%\Go\bin 中。否则,请导航到安装 Go 运行时的位置,然后执行以下操作:

在 cmd.exe 中,运行以下命令:

set GOOS=linux go build -o main main.go %USERPROFILE%\Go\bin\build-lambda-zip.exe -o main.zip main

在 Powershell 中,运行以下命令:

$env:GOOS = "linux" go build -o main main.go ~\Go\Bin\build-lambda-zip.exe -o main.zip main