SnsEventSourceProps Struct
Properties forwarded to the Lambda Subscription.
Example
ts
import * as sns from 'aws-cdk-lib/aws-sns';
import { SnsEventSource } from 'aws-cdk-lib/aws-lambda-event-sources';
declare const topic: sns.Topic;
const deadLetterQueue = new sqs.Queue(this, 'deadLetterQueue');
declare const fn: lambda.Function;
fn.addEventSource(new SnsEventSource(topic, {
filterPolicy: { },
deadLetterQueue: deadLetterQueue,
}));
python
import aws_cdk.aws_sns as sns
from aws_cdk.aws_lambda_event_sources import SnsEventSource
# topic: sns.Topic
# fn: lambda.Function
dead_letter_queue = sqs.Queue(self, "deadLetterQueue")
fn.add_event_source(SnsEventSource(topic,
filter_policy={},
dead_letter_queue=dead_letter_queue
))
java
import software.amazon.awscdk.services.sns.*;
import software.amazon.awscdk.services.lambda.eventsources.SnsEventSource;
Topic topic;
Function fn;
Queue deadLetterQueue = new Queue(this, "deadLetterQueue");
fn.addEventSource(SnsEventSource.Builder.create(topic)
.filterPolicy(Map.of())
.deadLetterQueue(deadLetterQueue)
.build());
csharp
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK.AWS.SNS;
using Amazon.CDK.AWS.Lambda.EventSources;
Topic topic;
Function fn;
var deadLetterQueue = new Queue(this, "deadLetterQueue");
fn.AddEventSource(new SnsEventSource(topic, new SnsEventSourceProps {
FilterPolicy = new Dictionary<string, object> { },
DeadLetterQueue = deadLetterQueue
}));
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import sns "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"
var topic Topic
var fn Function
deadLetterQueue := sqs.NewQueue(this, jsii.String("deadLetterQueue"))
fn.AddEventSource(awscdk.NewSnsEventSource(topic, &SnsEventSourceProps{
FilterPolicy: map[string]interface{}{
},
DeadLetterQueue: deadLetterQueue,
}))
Properties
deadLetterQueueoptionalIQueuedead_letter_queueoptionalIQueuedeadLetterQueueoptionalIQueueDeadLetterQueueoptionalIQueueDeadLetterQueueoptionalIQueue#Queue to be used as dead letter queue.
Default: No dead letter queue enabled.
If not passed no dead letter queue is enabled.
filterPolicyoptional{ [key: string]: SubscriptionFilter }filter_policyoptionaltyping.Mapping[str, SubscriptionFilter]filterPolicyoptionalMap<String, SubscriptionFilter>FilterPolicyoptionalIDictionary<string, SubscriptionFilter>FilterPolicyoptional*map[string]SubscriptionFilter#The filter policy.
Default: all messages are delivered
filterPolicyWithMessageBodyoptional{ [key: string]: FilterOrPolicy }filter_policy_with_message_bodyoptionaltyping.Mapping[str, FilterOrPolicy]filterPolicyWithMessageBodyoptionalMap<String, FilterOrPolicy>FilterPolicyWithMessageBodyoptionalIDictionary<string, FilterOrPolicy>FilterPolicyWithMessageBodyoptional*map[string]FilterOrPolicy#The filter policy that is applied on the message body.
Default: all messages are delivered
To apply a filter policy to the message attributes, use filterPolicy. A maximum of one of filterPolicyWithMessageBody and filterPolicy may be used.