一个桶 - 多个主题 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}
我正在尝试为单个存储桶事件创建两个 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}