Package: aws-solutions-constructs.aws-dynamodbstreams-lambda
aws-dynamodbstreams-lambda module---All classes are under active development and subject to non-backward compatible changes or removal in any
future version. These are not subject to theSemantic Versioningmodel.
This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.Reference Documentation:https://docs.aws.amazon.com/solutions/latest/constructs/LanguagePackagePythonaws_solutions_constructs.aws_dynamodbstreams_lambdaTypescript@aws-solutions-constructs/aws-dynamodbstreams-lambdaJavasoftware.amazon.awsconstructs.services.dynamodbstreamslambdaOverviewThis 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:Typescriptimport{Construct}from'constructs';import{Stack,StackProps}from'aws-cdk-lib';import{DynamoDBStreamsToLambdaProps,DynamoDBStreamsToLambda}from'@aws-solutions-constructs/aws-dynamodbstreams-lambda';import*aslambdafrom'aws-cdk-lib/aws-lambda';newDynamoDBStreamsToLambda(this,'test-dynamodbstreams-lambda',{lambdaFunctionProps:{code:lambda.Code.fromAsset(`lambda`),runtime:lambda.Runtime.NODEJS_16_X,handler:'index.handler'},});Pythonfromaws_solutions_constructs.aws_dynamodbstreams_lambdaimportDynamoDBStreamsToLambdafromaws_cdkimport(aws_lambdaas_lambda,Stack)fromconstructsimportConstructDynamoDBStreamsToLambda(self,'test-dynamodbstreams-lambda',lambda_function_props=_lambda.FunctionProps(code=_lambda.Code.from_asset('lambda'),runtime=_lambda.Runtime.PYTHON_3_9,handler='index.handler'))Javaimportsoftware.constructs.Construct;importsoftware.amazon.awscdk.Stack;importsoftware.amazon.awscdk.StackProps;importsoftware.amazon.awscdk.services.lambda.*;importsoftware.amazon.awscdk.services.lambda.Runtime;importsoftware.amazon.awsconstructs.services.dynamodbstreamslambda.*;newDynamoDBStreamsToLambda(this,"test-dynamodbstreams-lambda",newDynamoDBStreamsToLambdaProps.Builder().lambdaFunctionProps(newFunctionProps.Builder().runtime(Runtime.NODEJS_16_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 constructDefault 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 Amazon.com, Inc. or its affiliates. All Rights Reserved.