Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services Lambda S3 Put函数不触发较大文件_Amazon Web Services_Amazon S3_Aws Lambda_Amazon Ses - Fatal编程技术网

Amazon web services Lambda S3 Put函数不触发较大文件

Amazon web services Lambda S3 Put函数不触发较大文件,amazon-web-services,amazon-s3,aws-lambda,amazon-ses,Amazon Web Services,Amazon S3,Aws Lambda,Amazon Ses,我目前正在探索将电子邮件附件与.eml文件本身分开存储。我有一个SES规则集,可以将入站电子邮件发送到bucket。当bucket检索电子邮件时,S3 Put Lambda函数解析原始电子邮件(MIME格式),base64解码附件缓冲区,并为每个附件和原始.eml文件创建一个putObject到新的bucket 我的问题是,对于附件超过~3-4 MB的电子邮件,此Lambda函数不会触发。电子邮件会被接收并存储在初始存储桶中,但收到时不会触发该功能。此外,该事件不会出现在CloudWatch中。

我目前正在探索将电子邮件附件与.eml文件本身分开存储。我有一个SES规则集,可以将入站电子邮件发送到bucket。当bucket检索电子邮件时,S3 Put Lambda函数解析原始电子邮件(MIME格式),base64解码附件缓冲区,并为每个附件和原始.eml文件创建一个putObject到新的bucket

我的问题是,对于附件超过~3-4 MB的电子邮件,此Lambda函数不会触发。电子邮件会被接收并存储在初始存储桶中,但收到时不会触发该功能。此外,该事件不会出现在CloudWatch中。但是,当使用硬编码的S3 Put有效负载手动测试它时,以及当手动将.eml文件上载到指定的存储桶时,该功能工作得非常好


你知道为什么会有这种限制吗?这可能是bucket的权限问题,也可能是分配的Lambda角色的问题?当手动测试时,我发现这绝不是一个超时或超过最大内存使用量的问题

更大的文件几乎肯定是通过S3多部分上传而不是常规的Put操作上传的。您需要将Lambda订阅配置为也会收到多部分上载的通知。听起来该函数目前只订阅了
s3:ObjectCreated:Put
事件,您需要将
s3:ObjectCreated:CompleteMultipartUpload
添加到配置中。

我遇到了相同的问题。如果您上载到s3的文件的Etag以连字符结尾,后跟一个数字,则表示该文件是使用多部分上传的。订阅CompleteMultipartUpload事件解决了问题。

我也遇到了同样的问题。尽管将s3:ObjectCreated:CompleteMultipartUpload作为事件通知,但触发器仍失败


我后来意识到问题在于lambda的超时时间。这也可能是一个潜在的问题。

可能重复的。表面上并不完全相同,但可能的根本原因是相同的,所以现在,我要说的是,它不是一个完全相同的副本。我宁愿看到在这一点上达成一些共识,也不愿随便挥舞我的金锤。@Michael sqlbot我不会将这个问题标记为重复问题,因为我永远不会期望有人在搜索这个问题时找到另一个问题。另一个问题的标题太模糊,当遇到此问题时,无法找到。谢谢@MarkB。我想你是对的。你是个救生员——两年后!我为此绞尽脑汁好几天了。谢谢伙计,这不应该这么难。。。谢谢你的提示!所以浪费了太多的时间。。。自我提示:GIYFGreat。帮了我很多忙。