首页 > 解决方案 > 什么时候在 AWS 中触发对象创建事件?

问题描述

需要处理大文件上传到存储桶 (S3),使用事件触发的 Lambda 函数在完成后object-created开始处理它

从java中的客户端上传调用:

transferUtility.upload("folder", file.getName(), file);

(一种TransferObserver

但是查看文档https://docs.aws.amazon.com/lambda/latest/dg/with-s3.html无法明确找到触发事件的时间。

过去时的建议毕竟是 up,但有没有人肯定知道或知道在哪里可以找到这些细节。


观察从 CloudWatch 中插入的更详细日志console.log(),有两个条目,一个带有: { "key": "testing-dev/test150.mp4", "size": 0, "eTag": "d41d8cd98f00b204e9800998ecf8427e", "sequencer": "005B16EEECE6C6C90D" } ,另一个带有: { "key": "testing-dev/test150.mp4", "size": 432351, "eTag": "05d53b99cba51a1f5c79532fb4effe40", "sequencer": "005B16EEECEF2AA80F" } ,用于object事件变量中的元素: event.Records[0].s3.object

注意"size": 0第一个条目中的

标签: amazon-web-servicesamazon-s3

解决方案


上传完成后立即触发该事件。

上传到 S3 是原子的 - 失败或中断的上传实际上根本不会创建对象 - 因此,根据定义,在操作完成之前无法触发事件,因为在此之前没有创建任何对象。


推荐阅读