我有一个带有go1.x运行时的现有lambda函数,它可以很好地与SQS触发器一起工作.try 使用此处的说明更新函数以使用新的Provided.al2运行时.

https://aws.amazon.com/blogs/compute/migrating-aws-lambda-functions-from-the-go1-x-runtime-to-the-custom-runtime-on-amazon-linux-2/

我已经用这个更新的构建命令更新了名为bootstrap的二进制文件. GOOS=linux GOARCH=amd64 go build -o bootstrap

New runtime settings

在更新这个新的包并更改运行时之后,执行总是在初始化阶段超时.

INIT_REPORT初始化持续时间:10008.47 ms阶段:初始化状态:超时

INIT_REPORT初始化持续时间:60060.47毫秒阶段:调用状态:错误错误类型:运行.未知

当我将BINARY更改为Main并切换回go1.x运行时时,相同的代码也可以运行. 有人能帮帮忙吗?

编辑:

将aws-lambda-go库更新到最新版本后问题得到解决.

旧版本在Go 1.x运行时运行得很好.但要使用定制的Amazon Linux2运行时,必须将库更新到最新版本.

推荐答案

事实证明,现有代码中使用的githorb.com/aws/aws-lambda-go库与新的al2运行时不兼容.我已将此库更新到最新版本,初始化超时错误问题已解决

Go相关问答推荐

Go:嵌入类型不能是类型参数""

ChromeDriver不存在(高朗selenium)

如何使用Gorilla WebSockets实现Http.Hijacker&;alexedwards/scs/v2

如何将GoFr筛选器用于查询参数?

Golang使用Run()执行的命令没有返回

Date.Format正在输出非常奇怪的日期

在运行时更改 Go lang slog 的日志(log)级别

htmx 表单 + gin 无法正确读取请求正文

按位移计算结果中的差异

将 firestoreinteger_value转换为整数

甚至用天真的洗牌分配?

Golang Oauth2 服务帐户返回空刷新令牌字符串

CORS grpc 网关 GoLang

使用 Golang 在字符串中循环重复数据

如何使用 math/big 对 bigInt 进行取模?

在 Raspberry Pi4 上下载 Go Mod

panic :拨号 tcp:在 172.22.64.1:53 上查找 bookstoreDB:没有这样的主机

如何在Golang中的差异函数中杀死命令Exec

使用 Go 读取 TOML 文件时结果为空

有没有办法停止long blocking 函数?