Experimental
@aws-cdk/aws-s3objectlambda-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.
AccessPointProps Struct
The S3 object lambda access point configuration.
Example
ts
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as s3 from 'aws-cdk-lib/aws-s3';
import * as s3objectlambda from '@aws-cdk/aws-s3objectlambda-alpha';
import * as cdk from 'aws-cdk-lib';
const stack = new cdk.Stack();
const bucket = new s3.Bucket(stack, 'MyBucket');
const handler = new lambda.Function(stack, 'MyFunction', {
runtime: lambda.Runtime.NODEJS_LATEST,
handler: 'index.handler',
code: lambda.Code.fromAsset('lambda.zip'),
});
new s3objectlambda.AccessPoint(stack, 'MyObjectLambda', {
bucket,
handler,
accessPointName: 'my-access-point',
payload: {
prop: "value",
},
});
python
import aws_cdk.aws_lambda as lambda_
import aws_cdk.aws_s3 as s3
import aws_cdk.aws_s3objectlambda_alpha as s3objectlambda
import aws_cdk as cdk
stack = cdk.Stack()
bucket = s3.Bucket(stack, "MyBucket")
handler = lambda_.Function(stack, "MyFunction",
runtime=lambda_.Runtime.NODEJS_LATEST,
handler="index.handler",
code=lambda_.Code.from_asset("lambda.zip")
)
s3objectlambda.AccessPoint(stack, "MyObjectLambda",
bucket=bucket,
handler=handler,
access_point_name="my-access-point",
payload={
"prop": "value"
}
)
java
import software.amazon.awscdk.services.lambda.*;
import software.amazon.awscdk.services.s3.*;
import software.amazon.awscdk.services.s3objectlambda.alpha.*;
import software.amazon.awscdk.*;
Stack stack = new Stack();
Bucket bucket = new Bucket(stack, "MyBucket");
Function handler = Function.Builder.create(stack, "MyFunction")
.runtime(Runtime.NODEJS_LATEST)
.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();
csharp
// Install: dotnet add package Amazon.CDK.AWS.S3ObjectLambda.Alpha
using Amazon.CDK.AWS.Lambda;
using Amazon.CDK.AWS.S3;
using Amazon.CDK.AWS.S3ObjectLambda.Alpha;
using Amazon.CDK;
var stack = new Stack();
var bucket = new Bucket(stack, "MyBucket");
var handler = new Function(stack, "MyFunction", new FunctionProps {
Runtime = Runtime.NODEJS_LATEST,
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" }
}
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdks3objectlambdaalpha/v2
import "github.com/aws/aws-cdk-go/awscdk"
import s3 "github.com/aws/aws-cdk-go/awscdk"
import s3objectlambda "github.com/aws/aws-cdk-go/awscdks3objectlambdaalpha"
import cdk "github.com/aws/aws-cdk-go/awscdk"
stack := cdk.NewStack()
bucket := s3.NewBucket(stack, jsii.String("MyBucket"))
handler := lambda.NewFunction(stack, jsii.String("MyFunction"), &FunctionProps{
Runtime: lambda.Runtime_NODEJS_LATEST(),
Handler: jsii.String("index.handler"),
Code: lambda.Code_FromAsset(jsii.String("lambda.zip")),
})
s3objectlambda.NewAccessPoint(stack, jsii.String("MyObjectLambda"), &AccessPointProps{
Bucket: Bucket,
Handler: Handler,
AccessPointName: jsii.String("my-access-point"),
Payload: map[string]interface{}{
"prop": jsii.String("value"),
},
})
Properties
accessPointNameoptionalstringaccess_point_nameoptionalstraccessPointNameoptionalStringAccessPointNameoptionalstringAccessPointNameoptional*string#The name of the S3 object lambda access point.
Default: a unique name will be generated
The bucket to which this access point belongs.
cloudWatchMetricsEnabledoptionalbooleancloud_watch_metrics_enabledoptionalboolcloudWatchMetricsEnabledoptionalBooleanCloudWatchMetricsEnabledoptionalboolCloudWatchMetricsEnabledoptional*bool= false#Whether CloudWatch metrics are enabled for the access point.
The Lambda function used to transform objects.
payloadoptional{ [key: string]: any }payloadoptionaltyping.Mapping[str, Any]payloadoptionalMap<String, Object>PayloadoptionalIDictionary<string, object>Payloadoptional*map[string]interface{}#Additional JSON that provides supplemental data passed to the Lambda function on every request.
Default: No data.
supportsGetObjectPartNumberoptionalbooleansupports_get_object_part_numberoptionalboolsupportsGetObjectPartNumberoptionalBooleanSupportsGetObjectPartNumberoptionalboolSupportsGetObjectPartNumberoptional*bool= false#Whether the Lambda function can process `GetObject-PartNumber` requests.
supportsGetObjectRangeoptionalbooleansupports_get_object_rangeoptionalboolsupportsGetObjectRangeoptionalBooleanSupportsGetObjectRangeoptionalboolSupportsGetObjectRangeoptional*bool= false#Whether the Lambda function can process `GetObject-Range` requests.