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.97.0 (build 729de35)", date="2024-04-18T17:54:25.054Z") @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());
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
     
     
     
     
    protected
    SubscriptionFilter(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    SubscriptionFilter(software.amazon.jsii.JsiiObjectRef objRef)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a subscription filter for attribute key matching.
    conditions that specify the message attributes that should be included, excluded, matched, etc.
    numericFilter(NumericConditions numericConditions)
    Returns a subscription filter for a numeric attribute.
    stringFilter(StringConditions stringConditions)
    Returns a subscription filter for a string attribute.

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • 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.
    • 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.