Skip to content
v2.276.0

S3ObjectStorageMode Enum ​

How Lambda manages the storage of your code package.

Example ​

ts
import * as s3 from 'aws-cdk-lib/aws-s3';

declare const bucket: s3.IBucket;
declare const objectVersion: string;

new lambda.Function(this, 'MyFunction', {
  functionName: 'my-function',
  runtime: lambda.Runtime.NODEJS_LATEST,
  handler: 'index.handler',
  code: lambda.Code.fromBucketV2(bucket, 'my-function.zip', {
    objectVersion,
    s3ObjectStorageMode: lambda.S3ObjectStorageMode.REFERENCE,
  }),
});

new lambda.LayerVersion(this, 'MyLayer', {
  layerVersionName: 'my-layer',
  code: lambda.Code.fromBucketV2(bucket, 'my-layer.zip', {
    objectVersion,
    s3ObjectStorageMode: lambda.S3ObjectStorageMode.REFERENCE,
  }),
});
python
import aws_cdk.aws_s3 as s3

# bucket: s3.IBucket
# object_version: str


lambda_.Function(self, "MyFunction",
    function_name="my-function",
    runtime=lambda_.Runtime.NODEJS_LATEST,
    handler="index.handler",
    code=lambda_.Code.from_bucket_v2(bucket, "my-function.zip",
        object_version=object_version,
        s3_object_storage_mode=lambda_.S3ObjectStorageMode.REFERENCE
    )
)

lambda_.LayerVersion(self, "MyLayer",
    layer_version_name="my-layer",
    code=lambda_.Code.from_bucket_v2(bucket, "my-layer.zip",
        object_version=object_version,
        s3_object_storage_mode=lambda_.S3ObjectStorageMode.REFERENCE
    )
)
java
import software.amazon.awscdk.services.s3.*;

IBucket bucket;
String objectVersion;


Function.Builder.create(this, "MyFunction")
        .functionName("my-function")
        .runtime(Runtime.NODEJS_LATEST)
        .handler("index.handler")
        .code(Code.fromBucketV2(bucket, "my-function.zip", BucketOptions.builder()
                .objectVersion(objectVersion)
                .s3ObjectStorageMode(S3ObjectStorageMode.REFERENCE)
                .build()))
        .build();

LayerVersion.Builder.create(this, "MyLayer")
        .layerVersionName("my-layer")
        .code(Code.fromBucketV2(bucket, "my-layer.zip", BucketOptions.builder()
                .objectVersion(objectVersion)
                .s3ObjectStorageMode(S3ObjectStorageMode.REFERENCE)
                .build()))
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK.AWS.S3;

IBucket bucket;
string objectVersion;


new Function(this, "MyFunction", new FunctionProps {
    FunctionName = "my-function",
    Runtime = Runtime.NODEJS_LATEST,
    Handler = "index.handler",
    Code = Code.FromBucketV2(bucket, "my-function.zip", new BucketOptions {
        ObjectVersion = objectVersion,
        S3ObjectStorageMode = S3ObjectStorageMode.REFERENCE
    })
});

new LayerVersion(this, "MyLayer", new LayerVersionProps {
    LayerVersionName = "my-layer",
    Code = Code.FromBucketV2(bucket, "my-layer.zip", new BucketOptions {
        ObjectVersion = objectVersion,
        S3ObjectStorageMode = S3ObjectStorageMode.REFERENCE
    })
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import s3 "github.com/aws/aws-cdk-go/awscdk"

var bucket IBucket
var objectVersion string


lambda.NewFunction(this, jsii.String("MyFunction"), &FunctionProps{
	FunctionName: jsii.String("my-function"),
	Runtime: lambda.Runtime_NODEJS_LATEST(),
	Handler: jsii.String("index.handler"),
	Code: lambda.Code_FromBucketV2(bucket, jsii.String("my-function.zip"), &BucketOptions{
		ObjectVersion: jsii.String(*ObjectVersion),
		S3ObjectStorageMode: lambda.S3ObjectStorageMode_REFERENCE,
	}),
})

lambda.NewLayerVersion(this, jsii.String("MyLayer"), &LayerVersionProps{
	LayerVersionName: jsii.String("my-layer"),
	Code: lambda.Code_*FromBucketV2(bucket, jsii.String("my-layer.zip"), &BucketOptions{
		ObjectVersion: jsii.String(*ObjectVersion),
		S3ObjectStorageMode: lambda.S3ObjectStorageMode_REFERENCE,
	}),
})

Members ​

MemberDescription
COPYLambda copies the deployment package from your S3 bucket into Lambda-managed storage.
REFERENCELambda references your code directly from your S3 bucket.

Referenced by ​

  • BucketOptions.s3ObjectStorageModes3_object_storage_modes3ObjectStorageModeS3ObjectStorageModeS3ObjectStorageMode
  • CodeConfig.s3ObjectStorageModes3_object_storage_modes3ObjectStorageModeS3ObjectStorageModeS3ObjectStorageMode