AWS lambda执行仅在我第一次使用'customer function error'运行时失败

loading...


0

我通过API网关触发一个lambda函数,一切都很好地完成了一个例外,即我第一次在某一天触发它失败了 .

奇怪的是,lambda函数日志不会显示任何错误 . 我得到了我常用的 START 日志语句,然后是触发器的请求和上下文,然后在5s后,它意外结束 .

当我查看API网关日志时,这是它返回的错误:

由于客户功能错误,Lambda执行失败,状态为200:2018-12-10T11:00:31.208Z cc233168-fc9n-11fc-a05a-577bb4sd2b2ccc任务在5.01秒后超时 .

有谁遇到过类似的问题?什么是客户功能错误,我该如何解决?

loading...

1回答

  • 1

    在不知道你正在使用的背景代码的情况下,我将其称为冷启动 . 对于第一个请求很长时间没有调用函数的请求会发生冷启动 . 如果您发现错误消息显示“5.01秒后超时 . 这是默认设置 . 您可以增加超时时间 .

    或者,您可以考虑通过减少冷启动的长度来减少冷启动的影响reference

    • 通过使用不会产生高冷启动时间的语言编写Lambda函数 - 即Node.js,Python或Go

    • 为处理用户请求的关键路径上的函数选择更高的内存设置(即用户必须等待响应的任何内容,包括中间API)

    • 优化函数的依赖关系和包大小

    您还可以通过在每个特定时间间隔之后通过Cloud Watch放置一个cron作业来通过PING调用您的API

评论

暂时没有评论!