如何在不删除其他触发器的情况下添加Lambda触发器?

时间:2016-10-21 18:30:14

标签: aws-lambda

我有一个S3存储桶,我正在删除异构文件。特定文件夹中的每个文件(即key =“typeA / content.json”)和每个文件夹都将触发不同的Lambda函数。

我正在使用此命令:

  

aws s3api put-bucket-notification-configuration --bucket mybucket --notification-configuration file://notification.json

我的notification.json文件如下所示:

  

{“LambdaFunctionConfigurations”:[{“LambdaFunctionArn”:“arn:aws:lambda:us-east-1:085318171245:function:myfunction”,“Events”:[“s3:ObjectCreated:*”],“Id” “:”lkjlkj“,”过滤器“:{”Key“:{”FilterRules“:[{”Name“:”prefix“,”Value“:”typeA“},{”Name“:”suffix“,”Value“ “:”content.json“}]}}}]}

此命令适用于我创建的第一个触发器。但是,当我尝试向不同的LambdaFunctionArn添加不同的触发器(对于“typeB”前缀)时,第一个触发器将被删除。

我知道前缀+后缀必须是唯一的,我已经确认这不是问题。

我可以先查找所有现有的触发器,添加新的触发器,然后发送回完整列表,但这似乎效率低下。

如何再添加一个Trigger?

1 个答案:

答案 0 :(得分:1)

看起来S3 Object Creation事件只有一个lambda关联。

https://forums.aws.amazon.com/message.jspa?messageID=600330

尝试将S3通知发送到SNS主题的S3扇出,并且SNS可以有多个lambda使用者来处理它们。

https://aws.amazon.com/blogs/compute/fanout-s3-event-notifications-to-multiple-endpoints/

希望这有帮助。