我有一个lambda作业,它检测到一个s3放到Bucket A并将其移动到Bucket B.我有另一个lambda作业,它检测到放入桶B的S3并对该文件执行一些操作。
由于某种原因,铲斗A lambda作业自动放入铲斗B不会被触发。如果我手动上传到存储桶B,则会触发lambda作业。
这是完全相同的代码,大概是S3的相同动作,我不知道为什么会这样。
你们有什么投入吗?谢谢!
答案 0 :(得分:2)
这是完全相同的代码,并且可能与S3的行为相同
不。
有5种不同的事件,分别代表4种创建对象的方式和通配符。
s3:ObjectCreated:Put
s3:ObjectCreated:Post
s3:ObjectCreated:Copy
s3:ObjectCreated:CompleteMultipartUpload
s3:ObjectCreated:*
你几乎总是想要最后一个,除非你故意想要限制哪些动作引发事件......但听起来你把事件绑定到第一个。将一个对象从一个桶“移动”到另一个桶我们通常使用复制操作完成...但并非总是如此。除非您有特殊原因,否则请使用通配符。