Namespace Amazon.CDK.AWS.S3ObjectLambda
AWS::S3ObjectLambda Construct Library
---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 |
AccessPointAttributes | (experimental) The access point resource attributes. |
AccessPointProps | (experimental) The S3 object lambda access point configuration. |
CfnAccessPoint | A CloudFormation |
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 |
CfnAccessPoint.TransformationConfigurationProperty | A configuration used when creating an Object Lambda Access Point transformation. |
CfnAccessPointPolicy | A CloudFormation |
CfnAccessPointPolicyProps | Properties for defining a |
CfnAccessPointProps | Properties for defining a |
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 |
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 |
ICfnAccessPointProps | Properties for defining a |