Skip to content
v2.276.0

BucketOptions Struct ​

Optional parameters for creating code using bucket.

Example ​

ts

import { Key } from 'aws-cdk-lib/aws-kms';
import * as s3 from 'aws-cdk-lib/aws-s3';

const bucket = new s3.Bucket(this, 'Bucket');
declare const key: Key;

const options = {
    sourceKMSKey: key,
};
const fnBucket = new lambda.Function(this, 'myFunction2', {
    runtime: lambda.Runtime.NODEJS_LATEST,
    handler: 'index.handler',
    code: lambda.Code.fromBucketV2(bucket, 'python-lambda-handler.zip', options),
});
python
from aws_cdk.aws_kms import Key
import aws_cdk.aws_s3 as s3
# key: Key


bucket = s3.Bucket(self, "Bucket")

options = {
    "source_kms_key": key
}
fn_bucket = lambda_.Function(self, "myFunction2",
    runtime=lambda_.Runtime.NODEJS_LATEST,
    handler="index.handler",
    code=lambda_.Code.from_bucket_v2(bucket, "python-lambda-handler.zip", options)
)
java
import software.amazon.awscdk.services.kms.Key;
import software.amazon.awscdk.services.s3.*;
Key key;


Bucket bucket = new Bucket(this, "Bucket");

Map<String, Key> options = Map.of(
        "sourceKMSKey", key);
Function fnBucket = Function.Builder.create(this, "myFunction2")
        .runtime(Runtime.NODEJS_LATEST)
        .handler("index.handler")
        .code(Code.fromBucketV2(bucket, "python-lambda-handler.zip", options))
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK.AWS.KMS;
using Amazon.CDK.AWS.S3;
Key key;


var bucket = new Bucket(this, "Bucket");

IDictionary<string, Key> options = new Dictionary<string, Key> {
    { "sourceKMSKey", key }
};
var fnBucket = new Function(this, "myFunction2", new FunctionProps {
    Runtime = Runtime.NODEJS_LATEST,
    Handler = "index.handler",
    Code = Code.FromBucketV2(bucket, "python-lambda-handler.zip", options)
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import "github.com/aws/aws-cdk-go/awscdk"
import s3 "github.com/aws/aws-cdk-go/awscdk"
var key Key


bucket := s3.NewBucket(this, jsii.String("Bucket"))

options := map[string]Key{
	"sourceKMSKey": key,
}
fnBucket := lambda.NewFunction(this, jsii.String("myFunction2"), &FunctionProps{
	Runtime: lambda.Runtime_NODEJS_LATEST(),
	Handler: jsii.String("index.handler"),
	Code: lambda.Code_FromBucketV2(bucket, jsii.String("python-lambda-handler.zip"), options),
})

Properties ​

objectVersionoptionalstringobject_versionoptionalstrobjectVersionoptionalStringObjectVersionoptionalstringObjectVersionoptional*string#
Optional S3 object version.

Default: no object version

Required when s3ObjectStorageMode is set to S3ObjectStorageMode.REFERENCE.

s3ObjectStorageModeoptionalS3ObjectStorageModes3_object_storage_modeoptionalS3ObjectStorageModes3ObjectStorageModeoptionalS3ObjectStorageModeS3ObjectStorageModeoptionalS3ObjectStorageModeS3ObjectStorageModeoptionalS3ObjectStorageMode#
How Lambda manages the storage of your code package.

Default: Lambda copies the deployment package from your S3 bucket into Lambda-managed storage.

sourceKMSKeyoptionalIKeyRefsource_kms_keyoptionalIKeyRefsourceKMSKeyoptionalIKeyRefSourceKMSKeyoptionalIKeyRefSourceKMSKeyoptionalIKeyRef#
The KMS key that Lambda uses to encrypt the deployment package in Lambda-managed storage.

Default: Lambda uses an AWS owned key

This is not the key used to encrypt the source object in Amazon S3.