aws-apigateway-kinesisstreams
| Reference Documentation: | https://docs.aws.amazon.com/solutions/latest/constructs/ |
| Language | Package |
|---|---|
|
|
|
|
|
|
|
|
|
Overview
This AWS Solutions Construct implements an Amazon API Gateway connected to an Amazon Kinesis Data Stream pattern.
Here is a minimal deployable pattern definition:
Example
Pattern Construct Props
| Name | Type | Description |
|---|---|---|
|
apiGatewayProps? |
Optional - user provided props to override the default props for the API Gateway. |
|
|
putRecordRequestTemplate? |
|
API Gateway request template for the PutRecord action. If not provided, a default one will be used. |
|
createUsagePlan? |
boolean |
Whether to create a Usage Plan attached to the API. Must be true if apiGatewayProps.defaultMethodOptions.apiKeyRequired is true. @default - true (to match legacy behavior) |
|
additionalPutRecordRequestTemplates? |
|
Optional PutRecord
Request Templates for content-types other than |
|
putRecordRequestModel? |
API Gateway request model for the PutRecord action. If not provided, a default one will be created. |
|
|
putRecordIntegrationResponses? |
Optional, custom API Gateway Integration Response for the PutRecord action. |
|
|
putRecordMethodResponses? |
Optional, custom API Gateway Method Responses for the putRecord action. default: [{ statusCode: "200", responseParameters: { "method.response.header.Content-Type": true }},{ statusCode: "500", responseParameters: { "method.response.header.Content-Type": true } } ] |
|
|
putRecordsRequestTemplate? |
|
API Gateway request template for the PutRecords action. If not provided, a default one will be used. |
|
additionalPutRecordsRequestTemplates? |
|
Optional PutRecords
Request Templates for content-types other than |
|
putRecordsRequestModel? |
API Gateway request model for the PutRecords action. If not provided, a default one will be created. |
|
|
putRecordsIntegrationResponses? |
Optional, custom API Gateway Integration Response for the PutRecords action. |
|
|
putRecordsMethodResponses? |
Optional, custom API Gateway Method Responses for the putRecords action. default: [{ statusCode: "200", responseParameters: { "method.response.header.Content-Type": true }},{ statusCode: "500", responseParameters: { "method.response.header.Content-Type": true } } ] |
|
|
existingStreamObj? |
Existing instance of Kinesis Stream, providing both this and
|
|
|
kinesisStreamProps? |
Optional user-provided props to override the default props for the Kinesis stream. |
|
|
logGroupProps? |
User provided props to override the default props for for the CloudWatchLogs LogGroup. |
|
|
createCloudWatchAlarms |
|
Whether to create recommended
CloudWatch alarms for Kinesis Data Stream. Default value is set to
|
Pattern Properties
| Name | Type | Description |
|---|---|---|
|
apiGateway |
Returns an instance of the API Gateway REST API created by the pattern. |
|
|
apiGatewayRole |
Returns an instance of the iam.Role created by the construct for API Gateway. |
|
|
apiGatewayCloudWatchRole? |
Returns an instance of the iam.Role created by the construct for API Gateway for CloudWatch access. |
|
|
apiGatewayLogGroup |
Returns an instance of the LogGroup created by the construct for API Gateway access logging to CloudWatch. |
|
|
kinesisStream |
Returns an instance of the Kinesis stream created or used by the pattern. |
|
|
cloudwatchAlarms? |
Returns an array of recommended CloudWatch Alarms created by the construct for Kinesis Data stream |
Sample API Usage
| Method | Request Path | Request Body | Stream Action | Description |
|---|---|---|---|---|
|
POST |
|
|
|
Writes a single data record into the stream. |
|
POST |
|
|
|
Writes multiple data records into the stream in a single call. |
Default settings
Out of the box implementation of the Construct without any override will set the following defaults:
Amazon API Gateway
-
Deploy an edge-optimized API endpoint
-
Enable CloudWatch logging for API Gateway
-
Configure least privilege access IAM role for API Gateway
-
Set the default authorizationType for all API methods to IAM
-
Enable X-Ray Tracing
-
Validate request body before passing data to Kinesis
Amazon Kinesis Data Stream
-
Configure least privilege access IAM role for Kinesis Stream
-
Enable server-side encryption for Kinesis Stream using AWS Managed KMS Key
Architecture
Github
Go to the Github repo