需要使用大型文件上传到存储桶(S3),使用object-created
事件触发的Lambda函数开始处理 完成后
从java中的客户端上传调用:
transferUtility.upload("folder", file.getName(), file);
(a TransferObserver
类型)
但是查看文档https://docs.aws.amazon.com/lambda/latest/dg/with-s3.html无法在事件触发时明确找到。
过去的时态建议毕竟已经结束,但是有人确实知道这一点或者知道在哪里找到这些细节。
在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
答案 0 :(得分:1)
上传完成后立即触发事件。
上传到S3是原子的 - 失败或中断的上传实际上根本不创建对象 - 因此,根据定义,事件在操作完成之前无法触发,因为在此之前没有创建任何对象。
答案 1 :(得分:1)
将在上传结束时触发。
如果您使用的是分段上传,则会在完成分段上传操作完成后发生。