AWS Lambda
开发人员指南

创建部署程序包 (Go)

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

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

有关在 Go 中编写的 Lambda 函数,请下载适用于 Go 的 Lambda 库,方法是导航到 Go 运行时目录并输入以下命令:

go get github.com/aws/aws-lambda-go/lambda

然后通过 CLI 使用以下命令构建、打包和部署 Go Lambda 函数。请注意,您的 function-name 必须与您的 Lambda handler 名称匹配。

GOOS=linux go build lambda_handler.go zip handler.zip ./lambda_handler # --handler is the path to the executable inside the .zip aws lambda create-function \ --region region \ --function-name lambda-handler \ --memory 128 \ --role arn:aws:iam::account-id:role/execution_role \ --runtime go1.x \ --zip-file fileb://path-to-your-zip-file/handler.zip \ --handler lambda-handler

注意

如果您使用的是非 Linux 环境 (如 Windows 或 macOS),请确保您的处理程序函数与 Lambda 执行上下文兼容,方法是在编译您的处理程序函数代码时将 GOOS (Go 操作系统) 环境变量设置为“linux”。

在 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