aws-cdk-lib.aws_sns.SubscriptionFilter

class SubscriptionFilter

LanguageType name
.NETAmazon.CDK.AWS.SNS.SubscriptionFilter
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awssns#SubscriptionFilter
Javasoftware.amazon.awscdk.services.sns.SubscriptionFilter
Pythonaws_cdk.aws_sns.SubscriptionFilter
TypeScript (source)aws-cdk-lib » aws_sns » SubscriptionFilter

A subscription filter for an attribute.

Example

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'],
    }),
    size: sns.SubscriptionFilter.stringFilter({
      denylist: ['small', 'medium'],
    }),
    price: sns.SubscriptionFilter.numericFilter({
      between: { start: 100, stop: 200 },
      greaterThan: 300,
    }),
    store: sns.SubscriptionFilter.existsFilter(),
  },
}));

Initializer

new SubscriptionFilter(conditions?: any[])

Parameters

  • conditions any[] — conditions that specify the message attributes that should be included, excluded, matched, etc.

Properties

NameTypeDescription
conditionsany[]conditions that specify the message attributes that should be included, excluded, matched, etc.

conditions

Type: any[]

conditions that specify the message attributes that should be included, excluded, matched, etc.

Methods

NameDescription
static existsFilter()Returns a subscription filter for attribute key matching.
static numericFilter(numericConditions)Returns a subscription filter for a numeric attribute.
static stringFilter(stringConditions)Returns a subscription filter for a string attribute.

static existsFilter()

public static existsFilter(): SubscriptionFilter

Returns

  • SubscriptionFilter

Returns a subscription filter for attribute key matching.


static numericFilter(numericConditions)

public static numericFilter(numericConditions: NumericConditions): SubscriptionFilter

Parameters

  • numericConditions NumericConditions

Returns

  • SubscriptionFilter

Returns a subscription filter for a numeric attribute.


static stringFilter(stringConditions)

public static stringFilter(stringConditions: StringConditions): SubscriptionFilter

Parameters

  • stringConditions StringConditions

Returns

  • SubscriptionFilter

Returns a subscription filter for a string attribute.