当前位置: 首页 > 知识库问答 >
问题:

aws lambda函数为单个事件多次触发

景星光
2023-03-14

我正在使用aws lambda函数将一个桶中上传的wav文件转换为mp3格式,然后将文件移动到另一个桶中。它工作正常。但触发有个问题。当我上传小的wav文件时,lambda函数被调用一次。但是当我上传一个大尺寸的wav文件时,这个功能会被触发多次。

我已经谷歌了这个问题,发现它是无状态的,所以它会被多次调用(不确定这个触发器是针对多次上传还是同一个上传)。

https://aws.amazon.com/lambda/faqs/

有没有一个方法可以为一次上传调用这个函数一次?

共有2个答案

云俊美
2023-03-14

任何多次执行Lambda的事件都是由于AWS文档中指定的Lambda的重试行为。

您的代码可能会引发异常、超时或内存不足。执行代码的运行库可能会遇到错误并停止。您可能会用完并发并受到限制。

Lambda中可能存在一些错误,这使得客户端或服务调用Lambda函数重试。

使用CloudWatch日志查找错误,解决它可以解决问题。

我也面临同样的问题,在我的情况下,这是因为应用程序错误,解决它帮助了我。

最近AWS Lambda有了新的属性来改变默认的重试性质。在异步调用设置下,将重试尝试设置为0(默认值2)。

厍彭薄
2023-03-14

短版本:尝试在lambda函数配置中增加超时设置。

长版本:

我猜您遇到了lambda函数超时。

S3事件本质上是异步的,在拒绝该事件之前,侦听S3事件的lambda函数至少要重试3次。您提到过lambda函数在较小大小的上载过程中只执行一次(没有错误),然后进行转换和重新上载。从代码中转换和重新上载所需的时间可能大于lambda函数的超时设置。

因此,您可能希望尝试在lambda函数配置中增加超时设置。

顺便说一下,确认lambda函数被多次调用的一种方法是查看cloudwatch日志中的事件id(67FE6073-E19C-11E5-1111-6BQW43HKBEA3)的出现-

START RequestId: 67jh48x4-abcd-11e5-1111-6bqw43hkbea3 Version: $LATEST

此事件id表示调用lambda的特定事件,并且对于负责同一S3事件的所有lambda执行都应该相同。

此外,您还可以在以下日志行中查找执行时间(持续时间),该日志行标记一个lambda执行结束-

REPORT RequestId: 67jh48x4-abcd-11e5-1111-6bqw43hkbea3  Duration: 244.10 ms Billed Duration: 300 ms Memory Size: 128 MB Max Memory Used: 20 MB

如果不是一个解决方案,它至少会给您一些空间,以便在正确的方向上进行调试。让我知道进展如何。

 类似资料:
  • 问题内容: 我试图用Javascript编写视频扑克游戏,以降低其基础知识,但是我遇到了一个问题,其中jQuery click事件处理程序多次触发。 它们被附加到用于下注的按钮上,并且对于在游戏过程中第一手下注(仅触发一次)非常有效。但是在秒针下注中,每次按下一个下注或下注按钮都会触发两次点击事件(因此,每次按下正确的赌注量是两次)。总体而言,在按一次下注按钮时,触发单击事件的次数遵循此模式序列的

  • 我的Python Azure函数配置文件()定义了一个Blob存储触发器。 当Azure功能唤醒时(即,Live Metrics中显示的服务器在一段睡眠时间后变为在线),它将处理所有现有Blob,而不管哪些Blob已经生成触发事件。 我注意到< code > azure-web jobs-hosts/blob receipts 文件夹中填充了< code>sandboxhost637nnn文件夹。

  • 问题内容: 我尝试解除绑定click事件,但有时会触发两次,有时会触发5次!现在有点烦了! 来自的代码 更新 : 基本上我正在将以下代码 更多信息 : 这仅在我触发事件时发生,关闭模式对话框,然后使用其他对话框重新打开 数据结构: main.asp :负载> modal.asp :modal.asp包含上面的jquery +此页面上的两个div,其中包含panel1.asp和panel2.asp数

  • 我有一个 Blob 存储容器,其中配置了事件网格触发器(Blob 已创建)。我正在通过数据工厂加载此 blob 存储文件,很多时候,许多文件可能会在一次尝试中出现在此 blob 中。也许我们可以举一个20个文件的例子。 好消息是我的事件网格触发器启动了,函数app被调用。然而,我发现有时对于同一个文件,事件网格触发器被触发了不止一次。 在这20个文件中,很少有文件非常大,比如300 MB,但其他文

  • 我对TextWatcher有一个恼人的问题。我一直在网上搜索,但什么也找不到。如果有人能帮助我,我将不胜感激。 由于某些原因,在一次文本更改时对TextWatcher事件的调用是不稳定的。有时它们被触发一次(就像它们应该被触发的那样),有时两次,有时三次。不知道为什么,整个事情都很直截了当。有时,PostTextChanged()上的可编辑参数在toString()和length()中返回空值。

  • 我部署了一个用Python2编写的服务。7使用AWS Lambda,它是关于从一些页面提取数据并将结果发送到web应用程序。该服务由AWS CloudWatch事件触发(固定速率为5分钟)。 但是,我发现有时服务会一次触发两次。我得到这个是因为有两个日志流打印了相同的数据和结果,但具有不同的Request estID。并且数据库有重复的数据,这表明两者都成功工作。看起来服务几乎无缘无故地同时触发了