AWS::S3::Bucket TopicConfiguration - AWS CloudFormation

AWS::S3::Bucket TopicConfiguration

A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Event" : String, "Filter" : NotificationFilter, "Topic" : String }

YAML

Event: String Filter: NotificationFilter Topic: String

Properties

Event

The Amazon S3 bucket event about which to send notifications. For more information, see Supported Event Types in the Amazon S3 User Guide.

Required: Yes

Type: String

Update requires: No interruption

Filter

The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a .jpg extension are added to the bucket.

Required: No

Type: NotificationFilter

Update requires: No interruption

Topic

The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.

Required: Yes

Type: String

Update requires: No interruption

Examples

Receive S3 bucket notifications to an SNS topic

The following example template shows an Amazon S3 bucket with a notification configuration that sends an event to the specified SNS topic when S3 has lost all replicas of an object.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": { "AccessControl": "Private", "NotificationConfiguration": { "TopicConfigurations": [ { "Topic": "arn:aws:sns:us-east-1:123456789012:TestTopic", "Event": "s3:ReducedRedundancyLostObject" } ] } } } }, "Outputs": { "BucketName": { "Value": { "Ref": "S3Bucket" }, "Description": "Name of the sample Amazon S3 bucket with a notification configuration." } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Resources: S3Bucket: Type: 'AWS::S3::Bucket' Properties: AccessControl: Private NotificationConfiguration: TopicConfigurations: - Topic: 'arn:aws:sns:us-east-1:123456789012:TestTopic' Event: 's3:ReducedRedundancyLostObject' Outputs: BucketName: Value: !Ref S3Bucket Description: Name of the sample Amazon S3 bucket with a notification configuration.