Show / Hide Table of Contents

Namespace Amazon.CDK.AWS.S3ObjectLambda

AWS::S3ObjectLambda Construct Library

--- End-of-Support
AWS CDK v1 has reached End-of-Support on 2023-06-01.
This package is no longer being updated, and users should migrate to AWS CDK v2.

For more information on how to migrate, see the Migrating to AWS CDK v2 guide.


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

using Amazon.CDK.AWS.Lambda;
using Amazon.CDK.AWS.S3;
using Amazon.CDK.AWS.S3ObjectLambda;
using Amazon.CDK;

var stack = new Stack();
var bucket = new Bucket(stack, "MyBucket");
var handler = new Function(stack, "MyFunction", new FunctionProps {
    Runtime = Runtime.NODEJS_14_X,
    Handler = "index.handler",
    Code = Code.FromAsset("lambda.zip")
});
new AccessPoint(stack, "MyObjectLambda", new AccessPointProps {
    Bucket = bucket,
    Handler = handler,
    AccessPointName = "my-access-point",
    Payload = new Dictionary<string, object> {
        { "prop", "value" }
    }
});

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:

using Amazon.CDK.AWS.Lambda;
using Amazon.CDK.AWS.S3;
using Amazon.CDK.AWS.S3ObjectLambda;
using Amazon.CDK;

var stack = new Stack();
var bucket = new Bucket(stack, "MyBucket");
var handler = new Function(stack, "MyFunction", new FunctionProps {
    Runtime = Runtime.NODEJS_14_X,
    Handler = "index.handler",
    Code = Code.FromAsset("lambda.zip")
});
new AccessPoint(stack, "MyObjectLambda", new AccessPointProps {
    Bucket = bucket,
    Handler = handler,
    AccessPointName = "my-access-point",
    SupportsGetObjectRange = true,
    SupportsGetObjectPartNumber = true
});

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:

using Amazon.CDK.AWS.Lambda;
using Amazon.CDK.AWS.S3;
using Amazon.CDK.AWS.S3ObjectLambda;
using Amazon.CDK;

var stack = new Stack();
var bucket = new Bucket(stack, "MyBucket");
var handler = new Function(stack, "MyFunction", new FunctionProps {
    Runtime = Runtime.NODEJS_14_X,
    Handler = "index.handler",
    Code = Code.FromAsset("lambda.zip")
});
new AccessPoint(stack, "MyObjectLambda", new AccessPointProps {
    Bucket = bucket,
    Handler = handler,
    AccessPointName = "my-access-point",
    Payload = new Dictionary<string, object> {
        { "prop", "value" }
    }
});

Classes

AccessPoint

(experimental) An S3 object lambda access point for intercepting and transforming GetObject requests.

AccessPointAttributes

(experimental) The access point resource attributes.

AccessPointProps

(experimental) The S3 object lambda access point configuration.

CfnAccessPoint

A CloudFormation AWS::S3ObjectLambda::AccessPoint.

CfnAccessPoint.AliasProperty

The alias of an Object Lambda Access Point.

CfnAccessPoint.AwsLambdaProperty
CfnAccessPoint.ContentTransformationProperty
CfnAccessPoint.ObjectLambdaConfigurationProperty

A configuration used when creating an Object Lambda Access Point.

CfnAccessPoint.PolicyStatusProperty

Indicates whether this access point policy is public.

CfnAccessPoint.PublicAccessBlockConfigurationProperty

The PublicAccessBlock configuration that you want to apply to this Amazon S3 account.

CfnAccessPoint.TransformationConfigurationProperty

A configuration used when creating an Object Lambda Access Point transformation.

CfnAccessPointPolicy

A CloudFormation AWS::S3ObjectLambda::AccessPointPolicy.

CfnAccessPointPolicyProps

Properties for defining a CfnAccessPointPolicy.

CfnAccessPointProps

Properties for defining a CfnAccessPoint.

Interfaces

CfnAccessPoint.IAliasProperty

The alias of an Object Lambda Access Point.

CfnAccessPoint.IAwsLambdaProperty
CfnAccessPoint.IContentTransformationProperty
CfnAccessPoint.IObjectLambdaConfigurationProperty

A configuration used when creating an Object Lambda Access Point.

CfnAccessPoint.IPolicyStatusProperty

Indicates whether this access point policy is public.

CfnAccessPoint.IPublicAccessBlockConfigurationProperty

The PublicAccessBlock configuration that you want to apply to this Amazon S3 account.

CfnAccessPoint.ITransformationConfigurationProperty

A configuration used when creating an Object Lambda Access Point transformation.

IAccessPoint

(experimental) The interface that represents the AccessPoint resource.

IAccessPointAttributes

(experimental) The access point resource attributes.

IAccessPointProps

(experimental) The S3 object lambda access point configuration.

ICfnAccessPointPolicyProps

Properties for defining a CfnAccessPointPolicy.

ICfnAccessPointProps

Properties for defining a CfnAccessPoint.

Back to top Generated by DocFX