CDK constructs for defining an interaction between an AWS Lambda function and an Amazon S3 bucket.
Project description
aws-apigateway-sqs module
---All classes are under active development and subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.
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:
const { ApiGatewayToSqs } = require('@aws-solutions-constructs/aws-apigateway-sqs');
new ApiGatewayToSqs(stack, 'ApiGatewayToSqsPattern', {
apiGatewayProps: {},
queueProps: {},
deployDeadLetterQueue?: true,
maxReceiveCount?: 3
});
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. |
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 |
API Gateway Request template for Create method, required if allowCreateOperation set to true. |
allowReadOperation? | boolean |
Whether to deploy an API Gateway Method for Read operations on the queue (i.e. sqs:ReceiveMessage). |
allowDeleteOperation? | boolean |
Whether to deploy an API Gateway Method for Delete operations on the queue (i.e. sqs:DeleteMessage). |
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. |
sqsQueue | sqs.Queue |
Returns an instance of the SQS queue 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
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
Architecture
© Copyright 2020 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
Hashes for aws-solutions-constructs.aws-apigateway-sqs-1.47.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd7d7759cacbbfb1506f3dd6d3e391706419d9bcc6f65110f6e5738e82592d32 |
|
MD5 | 16642cc80c890f3e0c0182c5e3e3ad66 |
|
BLAKE2b-256 | 2176ec495516c12286cf0db4d47a3aa0d80192ec1e9da3060422720b2705c9f5 |
Hashes for aws_solutions_constructs.aws_apigateway_sqs-1.47.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1b509e3fb459fdec5a2a98015ef83d4da36d48371a63a7ed54b87eacdda7b72 |
|
MD5 | dbb6ce70ba3386e3cabb0e4e91b16c9d |
|
BLAKE2b-256 | b7687f121ead2b476496613fe4700553373e5fb623a85774c6244cf6de1b44f4 |