LambdaSubscription
- class aws_cdk.aws_sns_subscriptions.LambdaSubscription(fn, *, dead_letter_queue=None, filter_policy=None)
Bases:
object
Use a Lambda function as a subscription target.
- ExampleMetadata:
infused
Example:
import aws_cdk.aws_lambda as lambda_ # fn: lambda.Function my_topic = sns.Topic(self, "MyTopic") # Lambda should receive only message matching the following conditions on attributes: # color: 'red' or 'orange' or begins with 'bl' # size: anything but 'small' or 'medium' # price: between 100 and 200 or greater than 300 # store: attribute must be present my_topic.add_subscription(subscriptions.LambdaSubscription(fn, filter_policy={ "color": sns.SubscriptionFilter.string_filter( allowlist=["red", "orange"], match_prefixes=["bl"] ), "size": sns.SubscriptionFilter.string_filter( denylist=["small", "medium"] ), "price": sns.SubscriptionFilter.numeric_filter( between=sns.BetweenCondition(start=100, stop=200), greater_than=300 ), "store": sns.SubscriptionFilter.exists_filter() } ))
- Parameters:
fn (
IFunction
) –dead_letter_queue (
Optional
[IQueue
]) – Queue to be used as dead letter queue. If not passed no dead letter queue is enabled. Default: - No dead letter queue enabled.filter_policy (
Optional
[Mapping
[str
,SubscriptionFilter
]]) – The filter policy. Default: - all messages are delivered
Methods