如何解决S3通知配置定义不明确?
我正在尝试使用terraform将两个AWS lambda函数连接到S3事件。
我的配置如下:
resource "aws_s3_bucket_notification" "collection_write" {
bucket = aws_s3_bucket.fruit.id
lambda_function {
lambda_function_arn = aws_lambda_function.apple.arn
events = [ "s3:ObjectCreated:*" ]
filter_prefix = "foo/"
}
lambda_function {
lambda_function_arn = aws_lambda_function.banana.arn
events = [ "s3:ObjectCreated:*" ]
filter_prefix = "foo/"
}
}
但是AWS / terraform不喜欢这样:
Error: Error putting S3 notification configuration: InvalidArgument: Configuration is ambiguously defined. Cannot have overlapping suffixes in two rules if the prefixes are overlapping for the same event type.
status code: 400
我应该如何在terraform中编写它?
解决方法
您的地形没有错,只是s3仅限于单个事件通知。最好将s3事件发送到SNS主题,然后触发lambda以实现相同的功能。
,您还可以通过AWS SQS实现触发多个Lambda函数。对于此类用例,AWS SQS功能强大且易于使用的消息队列。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。