gpt4 book ai didi

amazon-web-services - 多个触发的 AWS Lambda 日志显示在单个 Cloudwatch 日志流中

转载 作者:行者123 更新时间:2023-12-05 08:22:47 25 4
gpt4 key购买 nike

我们创建了一个 Lambda 函数,它必须每分钟触发一次。它按预期工作并显示正确的结果。但是通过 Cloudwatch 事件获取的日志流在单个 Cloudwatch 日志流中包含多个 Lambda 触发器日志。

事件规则:- enter image description here

是否可以为 1 个 Lambda 触发器创建 1 个 cloudwatch 日志??

最佳答案

根据 AWS Lambda documentation here ,一个日志流代表一个你的函数的实例。换句话说,日志流表示来自您的 Lambda 函数的单个执行环境的日志...执行环境也称为 context(您可以传递给处理程序的参数之一)您没有每次调用都获得新日志流的原因是因为 Lambda 函数执行的上下文

当您调用您的 Lambda 函数时,AWS 会加载包含您的函数代码的容器,并提供使您的函数能够执行所需的请求资源:CPU、内存、网络等。这些都构成了函数执行环境,即也称为上下文。这些资源需要时间来配置,这会导致函数执行的延迟增加。这通常称为“冷启动”。

为了在每次调用时减轻这种不希望的延迟或冷启动,在您的函数完成其初始执行后,AWS 不会终止执行环境,而是保持容器和执行环境的运行以及 cpu、内存和网络,为下一次调用提供、准备和预期。这被称为保持功能“温暖”。当容器处于热状态时,函数的后续调用将在与前一次调用相同的执行环境或 context 中执行,并且由于调用是由函数的同一实例执行的,因此日志是写入与先前调用相同的日志流,这是表示该实例/执行环境/函数上下文的日志流。

尽管如此,值得指出的是 AWS 不会让容器无限期地运行。如果在给定的时间段内没有后续调用(没有确切的时间段,但通常认为在 30 到 45 分钟之间,source)AWS 将终止容器,并释放资源以供其他函数使用.下次调用 Lambda 函数时,AWS 将重复该函数的配置过程并创建一个新的执行环境,这将导致您的函数日志写入代表新执行环境/上下文的新日志流/你的函数的实例。

您可以阅读有关 Lambda 执行上下文的更多信息 here .

关于amazon-web-services - 多个触发的 AWS Lambda 日志显示在单个 Cloudwatch 日志流中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58491906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com