微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

S3通知配置定义不明确?

如何解决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 举报,一经查实,本站将立刻删除。