2017-09-14 74 views
0

我有一个lambda作业,检测s3放到桶A,并将其移动到桶B.我有另一个lambda作业,检测S3放入桶B并执行一些操作与该文件。AWS S3把没有被拾起的Lambda

出于某种原因,由桶A lambda作业自动放入桶B不会被触发。如果我手动上传到存储桶B,lambda作业确实会被触发。

这是完全相同的代码,可能是S3的相同动作,我不知道为什么会发生这种情况。

你们有什么意见吗?谢谢!

回答

2

这是完全相同的代码,想必S3相同的动作把

都能跟得上。

有5个不同的事件,代表4种不同的方式来创建一个对象和通配符。

s3:ObjectCreated:Put 
s3:ObjectCreated:Post 
s3:ObjectCreated:Copy 
s3:ObjectCreated:CompleteMultipartUpload 

s3:ObjectCreated:* 

你几乎总是要的是最后一个,除非你刻意要限制它的行动触发事件......但它听起来像是你绑在事件的第一个。将一个对象从一个桶移到另一个桶中,我们通常通过复制操作完成......但并非总是如此。除非你有特定的原因,否则请去除通配符。

http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations