aws-kinesisstreams-lambda
Language | Package |
---|---|
Python |
aws_solutions_constructs.aws-kinesis-streams-lambda
|
Typescript |
@aws-solutions-constructs/aws-kinesisstreams-lambda
|
Java |
software.amazon.awsconstructs.services.kinesisstreamslambda
|
Overview
This AWS Solutions Construct deploys a Kinesis Stream and Lambda function with the appropriate resources/properties for interaction and security.
Here is a minimal deployable pattern definition:
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
|
User provided props to override the default props for the Lambda function. |
kinesisStreamProps? |
kinesis.StreamProps
|
Optional user-provided props to override the default props for the Kinesis stream. |
existingStreamObj? |
kinesis.Stream
|
Existing instance of Kinesis Stream, providing both this
and kinesisStreamProps will cause an
error.
|
kinesisEventSourceProps? |
aws-lambda-event-sources.KinesisEventSourceProps
|
Optional user-provided props to override the default props for the Lambda event source mapping. |
createCloudWatchAlarms |
boolean
|
Whether to create recommended CloudWatch alarms |
Pattern Properties
Name | Type | Description |
---|---|---|
kinesisStream |
kinesis.Stream
|
Returns an instance of the Kinesis stream created by the pattern. |
lambdaFunction |
lambda.Function
|
Returns an instance of the Lambda function created by the pattern. |
kinesisStreamRole |
iam.Role
|
Returns an instance of the iam.Role created by the construct for Kinesis stream. |
cloudwatchAlarms? |
cloudwatch.Alarm[]
|
Returns a list of cloudwatch.Alarm created by the construct |
Default settings
Out of the box implementation of the Construct without any override will set the following defaults:
Amazon Kinesis Stream
-
Configure least privilege access IAM role for Kinesis Stream
-
Enable server-side encryption for Kinesis Stream using AWS Managed KMS Key
-
Deploy best practices CloudWatch Alarms for the Kinesis Stream
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
To view the code for this pattern, create/view issues and pull requests, and more: | |
---|---|
|
@aws-solutions-constructs/aws-kinesisstreams-lambda |