如何在单个 S3 存储桶中的 2 个文件夹上创建 2 个 SNS 主题?

How to create 2 SNS Topics on 2 folders in single S3 bucket?

我有一个包含 2 个文件夹(ABC 和 DEF)的 S3 存储桶。文件上传到这两个文件夹中。我们可以创建一个 cloudformation 模板,分别在这 2 个文件夹上创建 2 个 SNS 主题吗?

是的,你可以。

aws s3 bucket 属性 LifeCycleConfig.Rule 是一个数组。

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig.html

您需要做的就是使用两个不同的前缀指定两个生命周期通知规则:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-prefix

问题是两个前缀不能重叠。

此外,如您所知,s3 中没有 "folder" 的概念。 AWS 控制台通过调用列表 s3 对象 api 来实现文件夹的错觉,分隔符为“/”

https://docs.aws.amazon.com/AmazonS3/latest/API/v2-RESTBucketGET.html