CDK constructs for defining an interaction between an AWS Lambda function and an Amazon S3 bucket.
Project description
aws-apigateway-sqs module
---Reference Documentation: | https://docs.aws.amazon.com/solutions/latest/constructs/ |
---|
Language | Package |
---|---|
Python | aws_solutions_constructs.aws_apigateway_sqs |
Typescript | @aws-solutions-constructs/aws-apigateway-sqs |
Java | software.amazon.awsconstructs.services.apigatewaysqs |
Overview
This AWS Solutions Construct implements an Amazon API Gateway connected to an Amazon SQS queue pattern.
Here is a minimal deployable pattern definition in Typescript:
import { ApiGatewayToSqs, ApiGatewayToSqsProps } from "@aws-solutions-constructs/aws-apigateway-sqs";
new ApiGatewayToSqs(this, 'ApiGatewayToSqsPattern', {});
Initializer
new ApiGatewayToSqs(scope: Construct, id: string, props: ApiGatewayToSqsProps);
Parameters
- scope
Construct
- id
string
- props
ApiGatewayToSqsProps
Pattern Construct Props
Name | Type | Description |
---|---|---|
apiGatewayProps? | api.RestApiProps |
Optional user-provided props to override the default props for the API Gateway. |
queueProps? | sqs.QueueProps |
Optional user-provided props to override the default props for the queue. |
deployDeadLetterQueue? | boolean |
Whether to deploy a secondary queue to be used as a dead letter queue. Defaults to true . |
maxReceiveCount | number |
The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue. |
allowCreateOperation? | boolean |
Whether to deploy an API Gateway Method for Create operations on the queue (i.e. sqs:SendMessage). |
createRequestTemplate? | string |
Override the default API Gateway Request template for Create method, if allowCreateOperation set to true. |
allowReadOperation? | boolean |
Whether to deploy an API Gateway Method for Read operations on the queue (i.e. sqs:ReceiveMessage). |
readRequestTemplate? | string |
Override the default API Gateway Request template for Read method, if allowReadOperation set to true. |
allowDeleteOperation? | boolean |
Whether to deploy an API Gateway Method for Delete operations on the queue (i.e. sqs:DeleteMessage). |
deleteRequestTemplate? | string |
Override the default API Gateway Request template for Delete method, if allowDeleteOperation set to true. |
logGroupProps? | logs.LogGroupProps |
User provided props to override the default props for for the CloudWatchLogs LogGroup. |
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. |
sqsQueue | sqs.Queue |
Returns an instance of the SQS queue created by the pattern. |
deadLetterQueue? | sqs.DeadLetterQueue |
Returns an instance of the DeadLetterQueue created by the pattern. |
Sample API Usage
Method | Request Path | Request Body | Queue Action | Description |
---|---|---|---|---|
GET | / |
sqs::ReceiveMessage |
Retrieves a message from the queue. | |
POST | / |
{ "data": "Hello World!" } |
sqs::SendMessage |
Delivers a message to the queue. |
DELETE | /message?receiptHandle=[value] |
sqs::DeleteMessage |
Deletes a specified message from the queue |
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
Amazon SQS Queue
- Deploy SQS dead-letter queue for the source SQS Queue
- Enable server-side encryption for source SQS Queue using AWS Managed KMS Key
- Enforce encryption of data in transit
Architecture
© Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for aws-solutions-constructs.aws-apigateway-sqs-2.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23d2aaa5c5d192dd658eafa973ae6067863bbe9c023a51a5672fc79c2db4dc59 |
|
MD5 | 584ff5713a96e3a281d87b91fa5ad755 |
|
BLAKE2b-256 | 01b38412b3684b5c9f5095b446d7a3ca8d35efcc277f1f754f7ed019d5acc8d4 |
Close
Hashes for aws_solutions_constructs.aws_apigateway_sqs-2.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5586e65f59e83d8e6f2117f8388a2015f1f582b9a60f217844daf4099b8fb00f |
|
MD5 | f469fc0931769dad8b517189ef776bbe |
|
BLAKE2b-256 | 18e9d02cbaa74110506dd327e0bd6d0fedaa818bd4f44ce2f63cb53f4e211f8a |