我目前正在探索将电子邮件的附件与.eml文件本身分开存储.我有一个SES规则集,可以将入站电子邮件发送到存储桶.当存储桶检索电子邮件时,S3 Put Lambda函数解析原始电子邮件(MIME格式),base64解码附件缓冲区,并为每个附件和原始.eml文件执行putObject到新存储桶.
我的问题是,这个Lambda函数不会触发附件超过3-4 MB的电子邮件.收到电子邮件并将其存储在初始存储桶中,但该功能在收到时不会触发.此外,该事件未出现在CloudWatch中.但是,当使用硬编码的S3 Put有效负载手动测试时,以及手动将.eml文件上载到指定的存储桶时,该功能可以正常工作.
你知道为什么会有这种限制吗?也许这是存储桶的权限问题,也可能是指定的Lambda角色的问题?手动测试时我发现这绝不是超时或超出最大内存使用问题.