aws / aws/serverless-application-model
Add "RedrivePolicy" setting the "SqsSubscription" property of an "SNS" event source mapping for an "AWS::Serverless::Function" resource
- Dominant language
- Python
- Stars
- 9.6k
- Forks
- 2.5k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 7
Description
### 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
```
Contributor guide
Assessment
This issue has not been assessed yet.