Class SubscriptionFilter

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.sns.SubscriptionFilter
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.119.0 (build 1634eac)", date="2025-12-01T16:02:30.177Z") @Stability(Stable) public class SubscriptionFilter extends software.amazon.jsii.JsiiObject
A subscription filter for an attribute.

Example:

 import software.amazon.awscdk.services.lambda.*;
 Function fn;
 Topic myTopic = new Topic(this, "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
 myTopic.addSubscription(LambdaSubscription.Builder.create(fn)
         .filterPolicy(Map.of(
                 "color", SubscriptionFilter.stringFilter(StringConditions.builder()
                         .allowlist(List.of("red", "orange"))
                         .matchPrefixes(List.of("bl"))
                         .matchSuffixes(List.of("ue"))
                         .build()),
                 "size", SubscriptionFilter.stringFilter(StringConditions.builder()
                         .denylist(List.of("small", "medium"))
                         .build()),
                 "price", SubscriptionFilter.numericFilter(NumericConditions.builder()
                         .between(BetweenCondition.builder().start(100).stop(200).build())
                         .greaterThan(300)
                         .build()),
                 "store", SubscriptionFilter.existsFilter()))
         .build());
 
  • Constructor Details

    • SubscriptionFilter

      protected SubscriptionFilter(software.amazon.jsii.JsiiObjectRef objRef)
    • SubscriptionFilter

      protected SubscriptionFilter(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • SubscriptionFilter

      @Stability(Stable) public SubscriptionFilter(@Nullable List<Object> conditions)
      Parameters:
      conditions - conditions that specify the message attributes that should be included, excluded, matched, etc.
    • SubscriptionFilter

      @Stability(Stable) public SubscriptionFilter()
  • Method Details

    • existsFilter

      @Stability(Stable) @NotNull public static SubscriptionFilter existsFilter()
      Returns a subscription filter for attribute key matching.
    • notExistsFilter

      @Stability(Stable) @NotNull public static SubscriptionFilter notExistsFilter()
      Returns a subscription filter for absence of attribute key.
    • numericFilter

      @Stability(Stable) @NotNull public static SubscriptionFilter numericFilter(@NotNull NumericConditions numericConditions)
      Returns a subscription filter for a numeric attribute.

      Parameters:
      numericConditions - This parameter is required.
    • stringFilter

      @Stability(Stable) @NotNull public static SubscriptionFilter stringFilter(@NotNull StringConditions stringConditions)
      Returns a subscription filter for a string attribute.

      Parameters:
      stringConditions - This parameter is required.
    • getConditions

      @Stability(Stable) @NotNull public List<Object> getConditions()
      conditions that specify the message attributes that should be included, excluded, matched, etc.