aws-solutions-constructs.aws-apigateway-kinesisstreams 2.70.0

Last updated:

0 purchases

aws-solutions-constructs.aws-apigateway-kinesisstreams 2.70.0 Image
aws-solutions-constructs.aws-apigateway-kinesisstreams 2.70.0 Images
Add to Cart

Description:

awssolutionsconstructs.awsapigatewaykinesisstreams 2.70.0

aws-apigateway-kinesisstreams module
---






Reference Documentation:
https://docs.aws.amazon.com/solutions/latest/constructs/







Language
Package




Python
aws_solutions_constructs.aws_apigateway_kinesisstreams


Typescript
@aws-solutions-constructs/aws-apigateway-kinesisstreams


Java
software.amazon.awsconstructs.services.apigatewaykinesisstreams



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:
Typescript
import { Construct } from 'constructs';
import { Stack, StackProps } from 'aws-cdk-lib';
import { ApiGatewayToKinesisStreams, ApiGatewayToKinesisStreamsProps } from '@aws-solutions-constructs/aws-apigateway-kinesisstreams';

new ApiGatewayToKinesisStreams(this, 'test-apigw-kinesis', {});

Python
from aws_solutions_constructs.aws_apigateway_kinesisstreams import ApiGatewayToKinesisStreams
from aws_cdk import Stack
from constructs import Construct

ApiGatewayToKinesisStreams(self, 'test-apigw-kinesis')

Java
import software.constructs.Construct;

import software.amazon.awscdk.Stack;
import software.amazon.awscdk.StackProps;
import software.amazon.awsconstructs.services.apigatewaykinesisstreams.*;

new ApiGatewayToKinesisStreams(this, "test-apigw-kinesis", new ApiGatewayToKinesisStreamsProps.Builder()
.build());

Pattern Construct Props



Name
Type
Description




apiGatewayProps?
api.RestApiProps
Optional user-provided props to override the default props for the API Gateway.


putRecordRequestTemplate?
string
API Gateway request template for the PutRecord action. If not provided, a default one will be used.


additionalPutRecordRequestTemplates?
{ [contentType: string]: string; }
Optional PutRecord Request Templates for content-types other than application/json. Use the putRecordRequestTemplate property to set the request template for the application/json content-type.


putRecordRequestModel?
api.ModelOptions
API Gateway request model for the PutRecord action. If not provided, a default one will be created.


putRecordIntegrationResponses?
api.IntegrationResponses[]
Optional, custom API Gateway Integration Response for the PutRecord action.


putRecordMethodResponses?
api.MethodResponses[]
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?
string
API Gateway request template for the PutRecords action. If not provided, a default one will be used.


additionalPutRecordsRequestTemplates?
{ [contentType: string]: string; }
Optional PutRecords Request Templates for content-types other than application/json. Use the putRecordsRequestTemplate property to set the request template for the application/json content-type.


putRecordsRequestModel?
api.ModelOptions
API Gateway request model for the PutRecords action. If not provided, a default one will be created.


putRecordsIntegrationResponses?
api.IntegrationResponses[]
Optional, custom API Gateway Integration Response for the PutRecords action.


putRecordsMethodResponses?
api.MethodResponses[]
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?
kinesis.Stream
Existing instance of Kinesis Stream, providing both this and kinesisStreamProps will cause an error.


kinesisStreamProps?
kinesis.StreamProps
Optional user-provided props to override the default props for the Kinesis stream.


logGroupProps?
logs.LogGroupProps
User provided props to override the default props for for the CloudWatchLogs LogGroup.


createCloudWatchAlarms
boolean
Whether to create recommended CloudWatch alarms for Kinesis Data Stream. Default value is set to true



Pattern Properties



Name
Type
Description




apiGateway
api.RestApi
Returns an instance of the API Gateway REST API created by the pattern.


apiGatewayRole
iam.Role
Returns an instance of the iam.Role created by the construct for API Gateway.


apiGatewayCloudWatchRole?
iam.Role
Returns an instance of the iam.Role created by the construct for API Gateway for CloudWatch access.


apiGatewayLogGroup
logs.LogGroup
Returns an instance of the LogGroup created by the construct for API Gateway access logging to CloudWatch.


kinesisStream
kinesis.Stream
Returns an instance of the Kinesis stream created or used by the pattern.


cloudwatchAlarms?
cloudwatch.Alarm[]
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
/record
{ "data": "Hello World!", "partitionKey": "pk001" }
kinesis:PutRecord
Writes a single data record into the stream.


POST
/records
{ "records": [{ "data": "abc", "partitionKey": "pk001" }, { "data": "xyz", "partitionKey": "pk001" }] }
kinesis:PutRecords
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


© Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.