CDK Constructs for AWS S3 to AWS Lambda integration
Project description
aws-s3-lambda module
---| Reference Documentation: | https://docs.aws.amazon.com/solutions/latest/constructs/ |
|---|
| Language | Package |
|---|---|
aws_solutions_constructs.aws_s3_lambda |
|
@aws-solutions-constructs/aws-s3-lambda |
|
software.amazon.awsconstructs.services.s3lambda |
This AWS Solutions Construct implements an Amazon S3 bucket connected to an AWS Lambda function.
Here is a minimal deployable pattern definition in Typescript:
# Example automatically generated from non-compiling source. May contain errors.
import { S3ToLambdaProps, S3ToLambda } from '@aws-solutions-constructs/aws-s3-lambda';
new S3ToLambda(this, 'test-s3-lambda', {
lambdaFunctionProps: {
code: lambda.Code.fromAsset(`${__dirname}/lambda`),
runtime: lambda.Runtime.NODEJS_12_X,
handler: 'index.handler'
},
});
Initializer
new S3ToLambda(scope: Construct, id: string, props: S3ToLambdaProps);
Parameters
- scope
Construct - id
string - props
S3ToLambdaProps
Pattern Construct Props
| Name | Type | Description |
|---|---|---|
| existingLambdaObj? | lambda.Function |
Existing instance of Lambda Function object, providing both this and lambdaFunctionProps will cause an error. |
| lambdaFunctionProps? | lambda.FunctionProps |
Optional user provided props to override the default props for the Lambda function. |
| existingBucketObj? | s3.Bucket |
Existing instance of S3 Bucket object. If this is provided, then also providing bucketProps is an error. |
| bucketProps? | s3.BucketProps |
Optional user provided props to override the default props for the S3 Bucket. |
| s3EventSourceProps? | S3EventSourceProps |
Optional user provided props to override the default props for S3EventSourceProps |
| loggingBucketProps? | s3.BucketProps |
Optional user provided props to override the default props for the S3 Logging Bucket. |
| logS3AccessLogs? | boolean | Whether to turn on Access Logging for the S3 bucket. Creates an S3 bucket with associated storage costs for the logs. Enabling Access Logging is a best practice. default - true |
Pattern Properties
| Name | Type | Description |
|---|---|---|
| lambdaFunction | lambda.Function |
Returns an instance of the lambda.Function created by the construct |
| s3Bucket? | s3.Bucket |
Returns an instance of the s3.Bucket created by the construct |
| s3LoggingBucket? | s3.Bucket |
Returns an instance of s3.Bucket created by the construct as the logging bucket for the primary bucket. |
| s3BucketInterface | s3.IBucket |
Returns an instance of s3.IBucket created by the construct |
Default settings
Out of the box implementation of the Construct without any override will set the following defaults:
Amazon S3 Bucket
- Configure Access logging for S3 Bucket
- Enable server-side encryption for S3 Bucket using AWS managed KMS Key
- Enforce encryption of data in transit
- Turn on the versioning for S3 Bucket
- Don't allow public access for S3 Bucket
- Retain the S3 Bucket when deleting the CloudFormation stack
- Applies Lifecycle rule to move noncurrent object versions to Glacier storage after 90 days
AWS Lambda Function
-
Configure limited privilege access IAM role for Lambda function
-
Enable reusing connections with Keep-Alive for NodeJs Lambda function
-
Enable X-Ray Tracing
-
Set Environment Variables
- AWS_NODEJS_CONNECTION_REUSE_ENABLED (for Node 10.x and higher functions)
Architecture
© Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aws-solutions-constructs.aws-s3-lambda-1.136.0.tar.gz.
File metadata
- Download URL: aws-solutions-constructs.aws-s3-lambda-1.136.0.tar.gz
- Upload date:
- Size: 97.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a6a221f495983fa7a2a9d01c43d5608ffb786cae99ddd016ae90184f74edf9f
|
|
| MD5 |
677f8cdfb377cab6d4f82ae171802e7e
|
|
| BLAKE2b-256 |
3042838747dad8774652d5c74578668d4d3c9d8477507b8c9eb51b499cee3fba
|
File details
Details for the file aws_solutions_constructs.aws_s3_lambda-1.136.0-py3-none-any.whl.
File metadata
- Download URL: aws_solutions_constructs.aws_s3_lambda-1.136.0-py3-none-any.whl
- Upload date:
- Size: 96.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42f0a542268c13841cb0a2568b463a1c8664e3b23586c811a2ab863f5dc91560
|
|
| MD5 |
d41cb3e857b7b8cc12b1ace298c8c125
|
|
| BLAKE2b-256 |
c57ff604d4a374253281246ff3cf5c40d494256d73c9270c17a4a1bf20dd259e
|