AWS cli create-function 的 Go 处理程序参数

问题描述 投票:0回答:1

我已经阅读了 https://docs.aws.amazon.com/lambda/latest/dg/golang-handler.html 页面数次,但我仍然不太确定我应该给

 起什么名字handler
aws cli 的参数
create-function
对于我的 Go 代码。

它说,

  • func HandleRequest(ctx context.Context, name MyEvent) (string, error):这是您的 Lambda 处理程序签名,包含将要执行的代码。
  • 对于使用 go1.x 运行时的 Go 函数,可执行文件和处理程序可以共享任何名称。例如,如果将处理程序的值设置为 Handler,Lambda 将调用 Handler 可执行文件中的 main() 函数。

好的,情况是这样的

  • 在我的
    MyLambda
    文件夹中,
  • 我的 Go 代码将
    MyHandleRequest
    定义为
    func MyHandleRequest(ctx context.Context, name MyEvent) (string, error)
  • 它被构建为
    bin/MyLambda
    ,并与我的其他文件(如
    zip
    等)一起放入
    assets/*
    文件中。

在这种情况下,对于使用 go1.x 运行时的 Go 函数,我应该向 aws cli

handler
提供什么作为
create-function
参数?

amazon-web-services go aws-lambda command-line-interface
1个回答
0
投票

对于 lambda 中的 golang 处理程序,

handler
名称应该是您上传到 lambda 的 go 二进制文件的名称。
go build -o mybinary main.go
(IE:前面示例中的
mybinary

您的二进制文件应该像任何其他 go 程序一样具有

main
函数,并且要获取 lambda 上下文信息,请使用
github.com/aws/aws-lambda-go
模块。 AWS 文档有明确的示例: https://docs.aws.amazon.com/lambda/latest/dg/golang-context.html

© www.soinside.com 2019 - 2024. All rights reserved.