aws-dynamodbstreams-lambda
| Reference Documentation: | https://docs.aws.amazon.com/solutions/latest/constructs/ |
| Language | Package |
|---|---|
|
|
|
|
|
|
|
|
|
Overview
This AWS Solutions Construct implements an Amazon DynamoDB table with stream that invokes an AWS Lambda function with the least privileged permissions.
Here is a minimal deployable pattern definition:
Example
Pattern Construct Props
| Name | Type | Description |
|---|---|---|
|
existingLambdaObj? |
Optional - instance of an existing Lambda Function object, providing both this and
|
|
|
lambdaFunctionProps? |
Optional - user provided props to override the default props for the Lambda function. Providing both this and |
|
|
dynamoTableProps? |
Optional user provided props to override the default props for the DynamoDB Table. Providing both this and
|
|
|
existingTableInterface? |
Optional - existing DynamoDB table, providing both this and |
|
|
dynamoEventSourceProps? |
Optional user provided props to override the default props for DynamoDB Event Source |
Pattern Properties
| Name | Type | Description |
|---|---|---|
|
dynamoTableInterface |
Returns an instance of dynamodb.ITable created by the construct |
|
|
dynamoTable? |
Returns an instance of dynamodb.Table created by the construct.
IMPORTANT: If existingTableInterface was provided in Pattern Construct
Props, this property will be |
|
|
lambdaFunction |
Returns an instance of lambda.Function created by the construct |
Default settings
Out of the box implementation of the Construct without any override will set the following defaults:
Amazon DynamoDB Table
-
Set the billing mode for DynamoDB Table to On-Demand (Pay per request)
-
Enable server-side encryption for DynamoDB Table using AWS managed KMS Key
-
Creates a partition key called "id" for DynamoDB Table
-
Retain the Table when deleting the CloudFormation stack
-
Enable continuous backups and point-in-time recovery
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
-
Enable Failure-Handling features like enable bisect on function Error, set defaults for Maximum Record Age (24 hours) & Maximum Retry Attempts (500) and deploy SQS dead-letter queue as destination on failure
-
Set Environment Variables
-
AWS_NODEJS_CONNECTION_REUSE_ENABLED (for Node 10.x and higher functions)
-
Architecture
Github
Go to the Github repo