【发布时间】:2015-11-10 21:30:02
【问题描述】:
我正在使用 aws lambda 函数将存储桶中上传的 wav 文件转换为 mp3 格式,然后将文件移动到另一个存储桶。它工作正常。但是触发有问题。当我上传小 wav 文件时,lambda 函数被调用一次。但是当我上传一个大尺寸的wav文件时,这个功能会被多次触发。
我google了这个问题,发现它是无状态的,所以会被多次调用(不确定这个触发器是多次上传还是同一次上传)。
https://aws.amazon.com/lambda/faqs/
有没有什么方法可以为单次上传调用一次该函数?
【问题讨论】:
-
“不确定这个触发器是用于多次上传还是同一次上传” ...看起来这不应该是你应该首先解决的问题吗?无国籍与它无关。检查实际的事件内容,创建您在 S3 事件中接收到的内容的日志并将其存储以供查看,并且解释应该变得显而易见。最有可能的是,您最初用于上传对象的行为所执行的 S3 操作比您意识到的要多。
-
您需要用更具体的信息来扩展这个问题。理想情况下是代码示例。
-
听起来上传被分成几部分。您需要创建一个事件,指定该事件仅在
s3:ObjectCreated:CompleteMultiPartUpload上执行,this tutorial 显示了如何做到这一点,只需将s3:ObjectCreated:*替换为s3:ObjectCreated:CompleteMultiPartUpload。
标签: amazon-web-services amazon-s3 aws-lambda