AWS Lambda CloudWatch 日志记录是否同步?

Sum*_*ngi 4 logging amazon-web-services amazon-cloudwatch aws-lambda

AWS Lambda CloudWatch 日志记录是否同步?

AWS 建议 AWS Lambda 应登录到 CloudWatch,如果需要,可以从那里将其流式传输到多个位置。

我想不出一个好的方法来测试这个,因此这个问题。

如果是同步的:

1) 延迟/KB 是多少?

如果是异步的:

1)当Lambda函数完成其工作(向调用者返回响应)时,AWS文档说它可以随时被销毁以缩小规模或出于任何原因简单地被另一个实例替换,如果它确实是异步的,那么AWS如何保证日志不会丢失吗?

更新:我发现无论我们谈论什么语言,Lambda最终都会写入控制台(node.js中的console.log,C#中的Console.Writeline),我想AWS从控制台获取它并将其放入Cloudwatch中。这让我更加困惑,如果有人能指出我的数据流程图,那就太棒了。

Sum*_*ngi 5

来自 AWS 论坛的答案,当我没有收到这里的答案时,我在该论坛上发布了答案:

目前,Lambda 针对 console.log 类型调用异步写入 Cloudwatch 日志,在极少数情况下,日志可能会丢失。

例如,如果 Cloudwatch 日志中存在服务事件,日志可能会静默失败。

然而,在正常操作下,即使 lambda 容器被销毁或替换后,lambda 服务仍然有机会完成日志写入,因此日志丢失的可能性很小。

如果您需要保证,那么我建议创建阻止代码,使用相应的 SDK 直接写入 CloudWatch 日志(即不是 console.log ),以便在需要时使 lambda 函数失败。

如果您经常看到此问题,请向 AWS 支持团队开具票证,我们一定会进一步调查。

AWS 论坛问题@ https://forums.aws.amazon.com/thread.jspa?messageID=768836