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.84.0 (build 5404dcf)", date="2023-06-19T16:30:41.192Z") @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:::my-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 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.