Skip navigation links

Package software.amazon.awscdk.services.s3objectlambda

AWS::S3ObjectLambda Construct Library

See: Description

Package software.amazon.awscdk.services.s3objectlambda Description

AWS::S3ObjectLambda Construct Library

This construct library allows you to define S3 object lambda access points.

 // Example automatically generated from non-compiling source. May contain errors.
 import software.amazon.awscdk.core.*;
 import software.amazon.awscdk.core.*;
 import software.amazon.awscdk.core.*;
 import software.amazon.awscdk.core.*;
 
 
 Stack stack = new Stack();
 Bucket bucket = new Bucket(stack, "MyBucket");
 Function handler = Function.Builder.create(stack, "MyFunction")
         .runtime(Runtime.NODEJS_14_X)
         .handler("index.handler")
         .code(Code.fromAsset("lambda.zip"))
         .build();
 AccessPoint.Builder.create(stack, "MyObjectLambda")
         .bucket(bucket)
         .handler(handler)
         .accessPointName("my-access-point")
         .payload(Map.of(
                 "prop", "value"))
         .build();
 

Handling range and part number requests

Lambdas are currently limited to only transforming GetObject requests. However, they can additionally support GetObject-Range and GetObject-PartNumber requests, which needs to be specified in the access point configuration:

 // Example automatically generated from non-compiling source. May contain errors.
 import software.amazon.awscdk.core.*;
 import software.amazon.awscdk.core.*;
 import software.amazon.awscdk.core.*;
 import software.amazon.awscdk.core.*;
 
 
 Stack stack = new Stack();
 Bucket bucket = new Bucket(stack, "MyBucket");
 Function handler = Function.Builder.create(stack, "MyFunction")
         .runtime(Runtime.NODEJS_14_X)
         .handler("index.handler")
         .code(Code.fromAsset("lambda.zip"))
         .build();
 AccessPoint.Builder.create(stack, "MyObjectLambda")
         .bucket(bucket)
         .handler(handler)
         .accessPointName("my-access-point")
         .supportsGetObjectRange(true)
         .supportsGetObjectPartNumber(true)
         .build();
 

Pass additional data to Lambda function

You can specify an additional object that provides supplemental data to the Lambda function used to transform objects. The data is delivered as a JSON payload to the Lambda:

 // Example automatically generated from non-compiling source. May contain errors.
 import software.amazon.awscdk.core.*;
 import software.amazon.awscdk.core.*;
 import software.amazon.awscdk.core.*;
 import software.amazon.awscdk.core.*;
 
 
 Stack stack = new Stack();
 Bucket bucket = new Bucket(stack, "MyBucket");
 Function handler = Function.Builder.create(stack, "MyFunction")
         .runtime(Runtime.NODEJS_14_X)
         .handler("index.handler")
         .code(Code.fromAsset("lambda.zip"))
         .build();
 AccessPoint.Builder.create(stack, "MyObjectLambda")
         .bucket(bucket)
         .handler(handler)
         .accessPointName("my-access-point")
         .payload(Map.of(
                 "prop", "value"))
         .build();
 
Skip navigation links

Copyright © 2022. All rights reserved.