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
| Member | Description |
|---|---|
COPY | Lambda copies the deployment package from your S3 bucket into Lambda-managed storage. |
REFERENCE | Lambda references your code directly from your S3 bucket. |
Referenced by
BucketOptions.s3ObjectStorageModes3_object_storage_modes3ObjectStorageModeS3ObjectStorageModeS3ObjectStorageModeCodeConfig.s3ObjectStorageModes3_object_storage_modes3ObjectStorageModeS3ObjectStorageModeS3ObjectStorageMode