SNS - Amazon Serverless Application Model
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

SNS

The object describing an SNS event source type.

SAM generates AWS::SNS::Subscription resource when this event type is set

Syntax

To declare this entity in your Amazon Serverless Application Model (Amazon SAM) template, use the following syntax.

Properties

FilterPolicy

The filter policy JSON assigned to the subscription. For more information, see GetSubscriptionAttributes in the Amazon Simple Notification Service API Reference.

Type: SnsFilterPolicy

Required: No

Amazon CloudFormation compatibility: This property is passed directly to the FilterPolicy property of an AWS::SNS::Subscription resource.

FilterPolicyScope

This attribute lets you choose the filtering scope by using one of the following string value types:

  • MessageAttributes – The filter is applied on the message attributes.

  • MessageBody – The filter is applied on the message body.

Type: String

Required: No

Default: MessageAttributes

Amazon CloudFormation compatibility: This property is passed directly to the FilterPolicyScope property of an AWS::SNS::Subscription resource.

RedrivePolicy

When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

For more information about the redrive policy and dead-letter queues, see Amazon SQS dead-letter queues in the Amazon Simple Queue Service Developer Guide.

Type: Json

Required: No

Amazon CloudFormation compatibility: This property is passed directly to the RedrivePolicy property of an AWS::SNS::Subscription resource.

Region

For cross-region subscriptions, the region in which the topic resides.

If no region is specified, CloudFormation uses the region of the caller as the default.

Type: String

Required: No

Amazon CloudFormation compatibility: This property is passed directly to the Region property of an AWS::SNS::Subscription resource.

SqsSubscription

Set this property to true, or specify SqsSubscriptionObject to enable batching SNS topic notifications in an SQS queue. Setting this property to true creates a new SQS queue, whereas specifying a SqsSubscriptionObject uses an existing SQS queue.

Type: Boolean | SqsSubscriptionObject

Required: No

Amazon CloudFormation compatibility: This property is unique to Amazon SAM and doesn't have an Amazon CloudFormation equivalent.

Topic

The ARN of the topic to subscribe to.

Type: String

Required: Yes

Amazon CloudFormation compatibility: This property is passed directly to the TopicArn property of an AWS::SNS::Subscription resource.

Examples

SNS Event Source Example

SNS Event Source Example

YAML

Events: SNSEvent: Type: SNS Properties: Topic: arn:aws:sns:us-east-1:123456789012:my_topic SqsSubscription: true FilterPolicy: store: - example_corp price_usd: - numeric: - ">=" - 100