【发布时间】:2022-01-15 09:55:27
【问题描述】:
我正在尝试创建一个 s3 存储桶,每次将对象放入 s3 存储桶时,它都会向 SNS 主题发送通知。我的 S3 存储桶名为 foo-bucket,我的 SNS 主题名为 foo-topic。我知道如何在 aws 控制台中进行设置,但是在尝试通过 cloudformation 进行设置时遇到了问题。
这是我目前拥有的代码
Resources:
SNSTopic:
Type: AWS::SNS::Topic
Properties:
TopicName: foo-topic
SNSTopicPolicy:
Type: AWS::SNS::TopicPolicy
Properties:
PolicyDocument:
Id: MyTopicPolicy
Version: '2012-10-17'
Statement:
- Sid: Statement-id
Effect: Allow
Principal:
Service: s3.amazonaws.com
Action: sns:Publish
Resource:
Ref: SNSTopic
Condition:
ArnLike:
aws:SourceArn:
Fn::Join:
- ''
- - 'arn:aws:s3:::'
- Ref: S3Bucket
Topics:
- Ref: SNSTopic
S3Bucket:
Type: AWS::S3::Bucket
Properties:
BucketName: foo-bucket
AccessControl: BucketOwnerFullControl
NotificationConfiguration:
TopicConfigurations:
- Topic:
Ref: SNSTopic
Event: s3:ObjectCreated:Put
由于以下错误,我尝试部署上述和cfn回滚
无法验证以下目标配置(服务: 亚马逊 S3;状态码:400;错误代码:无效参数;请求编号: 呜呜; S3 扩展请求 ID:foooid;代理:空)
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-cloudformation amazon-sns