Class LambdaDestination

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.s3.notifications.LambdaDestination
All Implemented Interfaces:
IBucketNotificationDestination, software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-12-17T21:37:38.702Z") @Stability(Stable) public class LambdaDestination extends software.amazon.jsii.JsiiObject implements IBucketNotificationDestination
Use a Lambda function as a bucket notification destination.

Example:

 Function myLambda;
 IBucket bucket = Bucket.fromBucketAttributes(this, "ImportedBucket", BucketAttributes.builder()
         .bucketArn("arn:aws:s3:::amzn-s3-demo-bucket")
         .build());
 // now you can just call methods on the bucket
 bucket.addEventNotification(EventType.OBJECT_CREATED, new LambdaDestination(myLambda), NotificationKeyFilter.builder()
         .prefix("home/myusername/*")
         .build());
 
  • Constructor Details

    • LambdaDestination

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

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

      @Stability(Stable) public LambdaDestination(@NotNull IFunction fn)
      Parameters:
      fn - This parameter is required.
  • Method Details

    • bind

      @Stability(Stable) @NotNull public BucketNotificationDestinationConfig bind(@NotNull software.constructs.Construct _scope, @NotNull IBucket bucket)
      Registers this resource to receive notifications for the specified bucket.

      This method will only be called once for each destination/bucket pair and the result will be cached, so there is no need to implement idempotency in each destination.

      Specified by:
      bind in interface IBucketNotificationDestination
      Parameters:
      _scope - This parameter is required.
      bucket - This parameter is required.