Package Exports
- @aws-solutions-constructs/aws-apigateway-sqs
- @aws-solutions-constructs/aws-apigateway-sqs/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@aws-solutions-constructs/aws-apigateway-sqs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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.
Python
Typescript
Java