SubscriptionFilter
- class aws_cdk.aws_sns.SubscriptionFilter(conditions=None)
Bases:
object
A subscription filter for an attribute.
- 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"], match_suffixes=["ue"] ), "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:
conditions (
Optional
[Sequence
[Any
]]) – conditions that specify the message attributes that should be included, excluded, matched, etc.
Attributes
- conditions
conditions that specify the message attributes that should be included, excluded, matched, etc.
Static Methods
- classmethod exists_filter()
Returns a subscription filter for attribute key matching.
- Return type:
- classmethod numeric_filter(*, allowlist=None, between=None, between_strict=None, greater_than=None, greater_than_or_equal_to=None, less_than=None, less_than_or_equal_to=None)
Returns a subscription filter for a numeric attribute.
- Parameters:
allowlist (
Optional
[Sequence
[Union
[int
,float
]]]) – Match one or more values. Default: - Nonebetween (
Union
[BetweenCondition
,Dict
[str
,Any
],None
]) – Match values that are between the specified values. Default: - Nonebetween_strict (
Union
[BetweenCondition
,Dict
[str
,Any
],None
]) – Match values that are strictly between the specified values. Default: - Nonegreater_than (
Union
[int
,float
,None
]) – Match values that are greater than the specified value. Default: - Nonegreater_than_or_equal_to (
Union
[int
,float
,None
]) – Match values that are greater than or equal to the specified value. Default: - Noneless_than (
Union
[int
,float
,None
]) – Match values that are less than the specified value. Default: - Noneless_than_or_equal_to (
Union
[int
,float
,None
]) – Match values that are less than or equal to the specified value. Default: - None
- Return type:
- classmethod string_filter(*, allowlist=None, denylist=None, match_prefixes=None, match_suffixes=None)
Returns a subscription filter for a string attribute.
- Parameters:
allowlist (
Optional
[Sequence
[str
]]) – Match one or more values. Default: - Nonedenylist (
Optional
[Sequence
[str
]]) – Match any value that doesn’t include any of the specified values. Default: - Nonematch_prefixes (
Optional
[Sequence
[str
]]) – Matches values that begins with the specified prefixes. Default: - Nonematch_suffixes (
Optional
[Sequence
[str
]]) – Matches values that end with the specified suffixes. Default: - None
- Return type: