Package: aws-solutions-constructs.aws-dynamodb-stream-lambda
aws-dynamodb-stream-lambda module---Some of our early constructs don’t meet the naming standards that evolved for the library. We are releasing completely feature compatible versions with corrected names. The underlying implementation code is the same regardless of whether you deploy the construct using the old or new name. We will support both names for all 1.x releases, but in 2.x we will only publish the correctly named constructs. This construct is being replaced by the functionally identical aws-dynamodbstreams-lambda.Reference Documentation:https://docs.aws.amazon.com/solutions/latest/constructs/LanguagePackagePythonaws_solutions_constructs.aws_dynamodb_stream_lambdaTypescript@aws-solutions-constructs/aws-dynamodb-stream-lambdaJavasoftware.amazon.awsconstructs.services.dynamodbstreamlambdaOverviewThis AWS Solutions Construct implements a pattern Amazon DynamoDB table with stream to invoke the AWS Lambda function  with the least privileged permissions.Here is a minimal deployable pattern definition:Typescript//aws-dynamodb-stream-lambdahasbeendeprecatedforCDKV2infavorofaws-dynamodbstreams-lambda.//ThissampleusestheCDKV1syntaximport*ascdkfrom'@aws-cdk/core';import{DynamoDBStreamToLambda}from'@aws-solutions-constructs/aws-dynamodb-stream-lambda';import*aslambdafrom'@aws-cdk/aws-lambda';newDynamoDBStreamToLambda(this,'test-dynamodb-stream-lambda',{lambdaFunctionProps:{code:lambda.Code.fromAsset(`lambda`),runtime:lambda.Runtime.NODEJS_14_X,handler:'index.handler'},});Python# aws-dynamodb-stream-lambda has been deprecated for CDK V2 in favor of aws-dynamodbstreams-lambda.# This sample uses the CDK V1 syntaxfromaws_solutions_constructs.aws_dynamodb_stream_lambdaimportDynamoDBStreamToLambdafromaws_cdkimport(aws_lambdaas_lambda,core,)DynamoDBStreamToLambda(self,'test-dynamodb-stream-lambda',lambda_function_props=_lambda.FunctionProps(code=_lambda.Code.from_asset('lambda'),runtime=_lambda.Runtime.PYTHON_3_9,handler='index.handler'))Java// aws-dynamodb-stream-lambda has been deprecated for CDK V2 in favor of aws-dynamodbstreams-lambda.// This sample uses the CDK V1 syntaximportsoftware.constructs.Construct;importsoftware.amazon.awscdk.core.*;importsoftware.amazon.awscdk.services.lambda.*;importsoftware.amazon.awscdk.services.lambda.Runtime;importsoftware.amazon.awsconstructs.services.dynamodbstreamlambda.*;newDynamoDBStreamToLambda(this,"test-dynamodbstreams-lambda",newDynamoDBStreamToLambdaProps.Builder().lambdaFunctionProps(newFunctionProps.Builder().runtime(Runtime.NODEJS_14_X).code(Code.fromAsset("lambda")).handler("index.handler").build()).build());Pattern Construct PropsNameTypeDescriptionexistingLambdaObj?lambda.FunctionExisting instance of Lambda Function object, providing both this andlambdaFunctionPropswill cause an error.lambdaFunctionProps?lambda.FunctionPropsUser provided props to override the default props for the Lambda function.dynamoTableProps?dynamodb.TablePropsOptional user provided props to override the default props for DynamoDB TableexistingTableInterface?dynamodb.ITableExisting instance of DynamoDB table object or interface, providing both this anddynamoTablePropswill cause an error.dynamoEventSourceProps?aws-lambda-event-sources.DynamoEventSourcePropsOptional user provided props to override the default props for DynamoDB Event SourcePattern PropertiesNameTypeDescriptiondynamoTableInterfacedynamodb.ITableReturns an instance of dynamodb.ITable created by the constructdynamoTable?dynamodb.TableReturns an instance of dynamodb.Table created by the construct. IMPORTANT: If existingTableInterface was provided in Pattern Construct Props, this property will beundefinedlambdaFunctionlambda.FunctionReturns an instance of lambda.Function created by the constructLambda FunctionThis pattern requires a lambda function that can post data into the Elasticsearch. A sample function is providedhere.Default settingsOut of the box implementation of the Construct without any override will set the following defaults:Amazon DynamoDB TableSet the billing mode for DynamoDB Table to On-Demand (Pay per request)Enable server-side encryption for DynamoDB Table using AWS managed KMS KeyCreates a partition key called 'id' for DynamoDB TableRetain the Table when deleting the CloudFormation stackEnable continuous backups and point-in-time recoveryAWS Lambda FunctionConfigure limited privilege access IAM role for Lambda functionEnable reusing connections with Keep-Alive for NodeJs Lambda functionEnable X-Ray TracingEnable 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 failureSet Environment VariablesAWS_NODEJS_CONNECTION_REUSE_ENABLED (for Node 10.x and higher functions)Architecture© Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.