serverless-application-model
serverless-application-model copied to clipboard
Add "RedrivePolicy" setting the "SqsSubscription" property of an "SNS" event source mapping for an "AWS::Serverless::Function" resource
Describe your idea/feature/enhancement
When using an SNS
type of event source mapping for an AWS::Serverless::Function
resource, one is able to specify an object to the SqsSubscription
property. This enables batching SNS topic notifications in an SQS queue. Essentially this creates an SNS Subscription with the queue being the subscriber.
However, the SqsSubscription
property object does not have a property to set a DLQ for this SNS subscription, like you can set in an AWS::SNS::Subscription
resource by using the RedrivePolicy
property.
Proposal
I propose that a RedrivePolicy
property is added to the SNS
event source mapping type of an AWS::Serverless::Function
resource. A possible example can be seen below:
MyFunction:
Type: "AWS::Serverless::Function"
Properties:
..........
..........
..........
Events:
FanoutSnsTopic:
Type: SNS
Properties:
Topic: MyTopic
SqsSubscription:
QueuePolicyLogicalId: "PolicyId"
Enabled: true
QueueArn: MyQueueArn
QueueUrl: MyQueueUrl
RedrivePolicy: MyDLQArn # <------------------
BatchSize: 1