AWS 网关平方米 - AWS 解决方案构造

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS 网关平方米

所有类都处于积极开发之中,并且在任何未来版本中都会受到非向后兼容的更改或删除。这些不受语义版本模型。这意味着,虽然您可以使用它们,但在升级到此软件包的较新版本时,您可能需要更新源代码。

注意: 为确保正确的功能,您项目中的 AWS 解决方案构造软件包和 AWS CDK 包必须是相同的版本。

语言 程序包
Python
aws_solutions_constructs.aws_apigateway_sqs
TypeScript
@aws-solutions-constructs/aws-apigateway-sqs
Java
software.amazon.awsconstructs.services.apigatewaysqs

Overview

此 AWS 解决方案构造实现了连接到 Amazon SQS 队列的 Amazon API Gateway REST API。

以下是 TypeScript 中的最小可部署模式定义:

import { ApiGatewayToSqs, ApiGatewayToSqsProps } from "@aws-solutions-constructs/aws-apigateway-sqs"; new ApiGatewayToSqs(this, 'ApiGatewayToSqsPattern', {});

Initializer

new ApiGatewayToSqs(scope: Construct, id: string, props: ApiGatewayToSqsProps);

参数

模式构建道具

名称 类型 描述
养蜂网关道具? api.RestApiProps 用户提供的可选道具,用于覆盖 API Gateway 的默认道具。
队列道具? sqs.QueueProps 用户提供的可选道具来覆盖队列的默认道具。
部署死信件队列? boolean 是否要部署要用作死信队列的辅助队列。默认值为 true
maxReceiveCount number 消息在发送到死信队列之前移动到队列的次数。
是否允许创建操作? boolean 是否在队列上部署用于创建操作的 API Gateway 方法(即 SQL:发送消息)。
是否创建请求模板? string 覆盖创建方法的默认 API Gateway 请求模板(如果allowCreateOperation设置为true
是否允许操作? boolean 是否为队列上的读取操作部署 API Gateway 方法(即 SQL:接收消息)。
是否已读请求模板? string 覆盖读取方法的默认 API Gateway 请求模板(如果allowReadOperation设置为true
是否允许删除操作? boolean 是否在队列上部署用于删除操作的 API Gateway 方法(即 SQL:删除信息)。
是否删除请求模板? string 覆盖删除方法的默认 API Gateway 请求模板(如果allowDeleteOperation设置为true
日志组道具? logs.LogGroupProps 用户提供的可选道具,用于覆盖 CloudWatch Logs 日志组的默认道具。

模式属性

名称 类型 描述
APIGateway Sway api.RestApi 返回由模式创建的 API Gateway REST API 的实例。
网关云监视角色 iam.Role 返回由模式创建的 IAM 角色的实例,该模式允许从 API Gateway REST API 访问日志记录到 CloudWatch。
网关日志组 logs.LogGroup 返回由 API Gateway REST API 访问日志发送到的模式创建的日志组的实例。
养蜂网关角色 iam.Role 返回由 API Gateway REST API 模式创建的 IAM 角色的实例。
死信队列? sqs.Queue 返回由模式创建的死信队列的实例(如果已部署)。
SQUUE sqs.Queue 返回由模式创建的 SQS 队列的实例。

示例 API 使用情况

方法 请求路径 请求正文 队列操作 描述
GET / sqs::ReceiveMessage 从队列中检索消息。
POST / { "data": "Hello World!" } sqs::SendMessage 将消息传送到队列。
DELETE /message?receiptHandle=[value] sqs::DeleteMessage 从队列中删除指定的消息

默认设置

没有任何覆盖的此模式的开箱即用实现将设置以下默认值:

Amazon API Gateway

  • 部署边缘优化的 API 终端节点

  • 启用 API Gateway 的 CloudWatch 日志

  • 为 API Gateway 配置最低权限访问 IAM 角色

  • 将所有 API 方法的默认授权类型设置为 IAM

  • 启用 X-Ray 跟踪

Amazon SQS 队列

  • 为源 SQS 队列部署 SQS 死信队列

  • 使用 AWS 托管 KMS 密钥为源 SQS 队列启用服务器端加密

  • 实施传输中数据加密

Architecture

GitHub

要查看此模式的代码、创建/查看问题和拉取请求等,请执行以下操作:
@aws-解决方案结构/AWS-网关-平方