我有一个带有 go1.x 运行时的现有 lambda 函数,它可以与 sqs 触发器一起正常工作。尝试按照此处的说明更新函数以使用新的provided.al2运行时。
https://aws.amazon.com/blogs/compute/migration-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
更新这个新包并更改运行时后,执行总是在初始化阶段超时。
INIT_REPORT 初始化持续时间:10008.47 ms 阶段:init 状态:超时
INIT_REPORT 初始化持续时间:60060.47 ms 阶段:调用状态:错误错误类型:Runtime.Unknown
当我将二进制文件更改为 main 并切换回 go1.x 运行时时,相同的代码可以工作。 有人可以帮忙吗?
编辑:
将 aws-lambda-go 库更新到最新版本后问题已解决。
旧版本在 Go 1.x 运行时运行得非常好。但要使用自定义 amazon linux 2 运行时,必须将库更新到最新版本。
事实证明,现有代码中使用的 github.com/aws/aws-lambda-go 库与新的 al2 运行时不兼容。已将此库更新到最新版本,初始化超时错误问题已解决
以上是带有 golang 的 Lambda 自定义 al2 运行时,初始化阶段超时的详细内容。更多信息请关注PHP中文网其他相关文章!