一个桶 - 多个主题 Amazon S3、SNS

One Bucket - Multiple Topics Amazon S3, SNS

我正在尝试为单个存储桶事件创建两个 SNS 主题。目前,我的存储桶是这样配置的:

TranscribedBucket:
  Type: AWS::S3::Bucket
  DeletionPolicy: Retain
  Properties:
    NotificationConfiguration:
      TopicConfigurations:
        - Event: s3:ObjectCreated:*
          Topic:
            Ref: Transformer
          Filter:
            S3Key:
              Rules:
                - Name: prefix
                  Value: "transcribed-"
  BucketName: ${self:provider.transcribedBucket}

两个订阅者 lambda 正在监听主题 Transfomer,它们实际上在不同文件夹下的同一个存储桶中输出(例如,folder1/file1 由 subscriberLambda1 和 folder2/file2 由 subscriberLambda2)。完成后,我还有一个 lambda,只要文件进入该文件夹,它就需要实际使用 SNS 事件。

由于 - Event: s3:ObjectCreated:* 无法复制,我实际上无法为同一个存储桶再创建一个 Topic。我该如何推进?

您应该可以执行以下操作:

TranscribedBucket:
  Type: AWS::S3::Bucket
  DeletionPolicy: Retain
  Properties:
    NotificationConfiguration:
      TopicConfigurations:
        - Event: s3:ObjectCreated:*
          Topic:
            Ref: Transformer
          Filter:
            S3Key:
              Rules:
                - Name: prefix
                  Value: "folder1/"
        - Event: s3:ObjectCreated:*
          Topic:
            Ref: Bumblebee
          Filter:
            S3Key:
              Rules:
                - Name: prefix
                  Value: "folder2/"
  BucketName: ${self:provider.transcribedBucket}