Interface TriggerConditions

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
TriggerConditions.Jsii$Proxy

@Generated(value="jsii-pacmak/1.129.0 (build eaca441)", date="2026-05-19T08:18:44.509Z") @Stability(Stable) public interface TriggerConditions extends software.amazon.jsii.JsiiSerializable
Trigger conditions for self managed memory strategy When first condition is met, batched payloads are sent to specified S3 bucket.

Example:

 Bucket bucket = Bucket.Builder.create(this, "memoryBucket")
         .bucketName("test-memory")
         .removalPolicy(RemovalPolicy.DESTROY)
         .autoDeleteObjects(true)
         .build();
 Topic topic = new Topic(this, "topic");
 // Create a custom semantic memory strategy
 SelfManagedMemoryStrategy selfManagedStrategy = MemoryStrategy.usingSelfManaged(SelfManagedStrategyProps.builder()
         .strategyName("selfManagedStrategy")
         .description("self managed memory strategy")
         .historicalContextWindowSize(5)
         .invocationConfiguration(InvocationConfiguration.builder()
                 .topic(topic)
                 .s3Location(Location.builder()
                         .bucketName(bucket.getBucketName())
                         .objectKey("memory/")
                         .build())
                 .build())
         .triggerConditions(TriggerConditions.builder()
                 .messageBasedTrigger(1)
                 .timeBasedTrigger(Duration.seconds(10))
                 .tokenBasedTrigger(100)
                 .build())
         .build());
 // Create memory with custom strategy
 Memory memory = Memory.Builder.create(this, "MyMemory")
         .memoryName("my-custom-memory")
         .description("Memory with custom strategy")
         .expirationDuration(Duration.days(90))
         .memoryStrategies(List.of(selfManagedStrategy))
         .build();
 
  • Method Details

    • getMessageBasedTrigger

      @Stability(Stable) @Nullable default Number getMessageBasedTrigger()
      Triggers memory processing when specified number of new messages is reached.

      Default: 1

    • getTimeBasedTrigger

      @Stability(Stable) @Nullable default Duration getTimeBasedTrigger()
      Triggers memory processing when the session has been idle for the specified duration.

      Value in seconds.

      Default: - 10 seconds

    • getTokenBasedTrigger

      @Stability(Stable) @Nullable default Number getTokenBasedTrigger()
      Triggers memory processing when the token size reaches the specified threshold.

      Default: 100

    • builder

      @Stability(Stable) static TriggerConditions.Builder builder()
      Returns:
      a TriggerConditions.Builder of TriggerConditions