aws / aws/serverless-application-model

Add "RedrivePolicy" setting the "SqsSubscription" property of an "SNS" event source mapping for an "AWS::Serverless::Function" resource

Open
#1,933 0 comments 0 reactions 0 assignees View on GitHub
area/event-source area/sns maintainer/need-response type/feature type/new-property
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.