我已启用S3事件属性以通知PUT事件。我使用AWS控制台执行此操作。我将它转发给AWS lambda进行进一步处理。但是当我上传大尺寸的文件时,S3没有通知。
我上传了5个文件,其中3个文件较小,2个文件大小为17.4MB和61.9MB。 S3没有通知这些较大文件的PUT事件。我收到了其他3个大小小于1MB的文件的通知。
我已尝试使用AWS SNS进行S3事件通知,以检查问题是使用S3事件通知程序还是使用我的lambda函数。此时我也没有收到有关这2个大文件的通知。
我还使用SNS启用S3删除事件进行测试。在那种情况下,它奏效了。我通过SNS收到了有关此次活动的电子邮件。但问题在于PUT事件。
那么,这是S3的问题还是我在设置S3事件通知时错过了什么?
感谢。
答案 0 :(得分:10)
这些是在S3上创建文件时可以触发的不同事件类型:
s3:ObjectCreated:Put
s3:ObjectCreated:Post
s3:ObjectCreated:Copy
s3:ObjectCreated:CompleteMultipartUpload
较小的文件上传会触发s3:ObjectCreated:Put
事件。较大的文件上传将触发s3:ObjectCreated:CompleteMultipartUpload
事件。因此,您需要将s3:ObjectCreated:CompleteMultipartUpload
事件类型添加到触发器中。您还可以将其设置为s3:ObjectCreated:*
以接收所有对象创建的事件。