StringConditions Struct
Conditions that can be applied to string attributes.
Example
ts
import * as lambda from 'aws-cdk-lib/aws-lambda';
const myTopic = new sns.Topic(this, 'MyTopic');
declare const fn: lambda.Function;
// 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
myTopic.addSubscription(new subscriptions.LambdaSubscription(fn, {
filterPolicy: {
color: sns.SubscriptionFilter.stringFilter({
allowlist: ['red', 'orange'],
matchPrefixes: ['bl'],
matchSuffixes: ['ue'],
}),
size: sns.SubscriptionFilter.stringFilter({
denylist: ['small', 'medium'],
}),
price: sns.SubscriptionFilter.numericFilter({
between: { start: 100, stop: 200 },
greaterThan: 300,
}),
store: sns.SubscriptionFilter.existsFilter(),
},
}));
Properties
allowlistoptionalstring[]allowlistoptionaltyping.List[str]allowlistoptionalList<String>Allowlistoptionalstring[]Allowlistoptional*[]*string= None#Match one or more values.
denylistoptionalstring[]denylistoptionaltyping.List[str]denylistoptionalList<String>Denylistoptionalstring[]Denylistoptional*[]*string= None#Match any value that doesn't include any of the specified values.
matchPrefixesoptionalstring[]match_prefixesoptionaltyping.List[str]matchPrefixesoptionalList<String>MatchPrefixesoptionalstring[]MatchPrefixesoptional*[]*string= None#Matches values that begins with the specified prefixes.
matchSuffixesoptionalstring[]match_suffixesoptionaltyping.List[str]matchSuffixesoptionalList<String>MatchSuffixesoptionalstring[]MatchSuffixesoptional*[]*string= None#Matches values that end with the specified suffixes.