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 AWS Serverless Application Model (AWS SAM) template, use the following syntax.
YAML
FilterPolicy:
SnsFilterPolicy
FilterPolicyScope:String
RedrivePolicy:Json
Region:String
SqsSubscription:Boolean | SqsSubscriptionObject
Topic:String
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
AWS CloudFormation compatibility: This property is passed directly to the
FilterPolicy
property of anAWS::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
AWS CloudFormation compatibility: This property is passed directly to the
FilterPolicyScope
property of anAWS::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
AWS CloudFormation compatibility: This property is passed directly to the
RedrivePolicy
property of anAWS::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
AWS CloudFormation compatibility: This property is passed directly to the
Region
property of anAWS::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 totrue
creates a new SQS queue, whereas specifying aSqsSubscriptionObject
uses an existing SQS queue.Type: Boolean | SqsSubscriptionObject
Required: No
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
-
Topic
-
The ARN of the topic to subscribe to.
Type: String
Required: Yes
AWS CloudFormation compatibility: This property is passed directly to the
TopicArn
property of anAWS::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