AWS Lambda CloudWatch日志记录是否同步?
AWS建议AWS Lambda应该根据需要从可以将其传输到多个位置的位置登录到CloudWatch。
我想不出一个好的方法来测试它,因此问题。
如果是同步的:
1)什么是延迟/ KB?
如果是异步:
1)当Lambda函数完成其工作(返回对调用者的响应)时,AWS文档说它可以随时被销毁以缩小或简单地由于任何原因被其他实例替换,如果它确实是异步的,那么如何AWS保证日志不会丢失?
更新:我发现无论我们谈论的语言是什么,Lambda最终写入控制台(node.js中的console.log,C#中的Console.Writeline),我想AWS从控制台获取它并将其放入Cloudwatch。这让我更加困惑,如果有人能指出数据流程图,那就太棒了。
答案 0 :(得分:4)
当我没有从这里收到答案时,从我发布的AWS论坛回答:
目前,Lambda异步写入Cloudwatch日志 console.log类型调用,并且在不太可能的情况下,日志可能会丢失。
例如,如果Cloudwatch日志中存在服务事件,则日志可能会 安静地失败。
然而,在正常操作下,即使在lambda容器之后也是如此 被破坏或更换后,lambda服务仍然会有 有机会完成写日志,因此日志不太可能 会丢失的。
如果您需要保证,那么我建议创建阻止代码, 使用相应的SDK直接写入CloudWatch日志(即 不是console.log)在需要时使lambda函数失败。
如果您经常看到此问题,请打开机票 AWS支持团队,我们一定会进一步调查。
AWS论坛问题@ https://forums.aws.amazon.com/thread.jspa?messageID=768836