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.