什么是 Amazon API Gateway?
Amazon API Gateway 是一项AWS服务,用于创建、发布、维护、监控和保护任意规模的 REST、HTTP 和 WebSocket API。API 开发人员可以创建能够访问 AWS 或其他 Web 服务以及存储在 AWS 云
API Gateway 创建符合下列条件的 RESTful API:
-
基于 HTTP 的。
-
启用无状态客户端-服务器通信。
-
实施标准 HTTP 方法例,如 GET、POST、PUT、PATCH 和 DELETE。
有关 API Gateway REST API 和 HTTP API 的更多信息,请参阅 在 REST API 和 HTTP API 之间进行选择、API Gateway HTTP API、使用 API Gateway 创建 REST API 和 开发 API Gateway 中的 REST API。
API Gateway 创建以下 WebSocket API:
-
遵守 WebSocket
协议,从而支持客户端和服务器之间的有状态的全双工通信。 -
基于消息内容路由传入的消息。
有关 API Gateway WebSocket API 的更多信息,请参阅 使用 API Gateway 创建 WebSocket API和 API Gateway 中的 WebSocket API 概览。
主题
API Gateway 的架构
下图显示 API Gateway 架构。
此图表说明您在 Amazon API Gateway 中构建的 API 如何为您或开发人员客户提供用于构建AWS无服务器应用程序的集成且一致的开发人员体验。API Gateway 将处理涉及接受和处理多达几十万个并发 API 调用的所有任务。这些任务包括流量管理、授权和访问控制、监控以及 API 版本管理。
API Gateway 充当应用程序从后端服务访问数据、业务逻辑或功能的“前门”,例如,在 Amazon Elastic Compute Cloud (Amazon EC2) 上运行的负载、在 AWS Lambda 上运行的代码、任何 Web 应用程序或实时通信应用程序。
API Gateway 的功能
Amazon API Gateway 提供如下功能:
-
强大且灵活的身份验证机制,如 AWS Identity and Access Management 策略、Lambda 授权方函数和 Amazon Cognito 用户池。
-
用以安全地推出更改的金丝雀版本部署。
-
CloudTrail 记录和监控 API 使用情况和 API 更改。
-
CloudWatch 访问日志记录和执行日志记录,包括设置警报的能力。有关更多信息,请参阅使用 Amazon CloudWatch 指标监控 REST API 执行 和 使用 CloudWatch 指标监控 WebSocket API 执行。
-
能够使用 AWS CloudFormation 模板以支持创建 API 有关更多信息,请参阅 Amazon API Gateway 资源类型参考和 Amazon API Gateway V2 资源类型参考。
-
支持自定义域名。
-
与 AWS WAF 集成,以保护您的 API 免遭常见 Web 漏洞的攻击。
-
与 AWS X-Ray 集成,以了解和分类性能延迟。
有关 API Gateway 功能版本的完整列表,请参阅文档历史记录。
访问 API Gateway
您可以通过以下方式访问 Amazon API Gateway:
-
AWS Management Console – AWS Management Console提供用于创建和管理 API 的 Web 界面。完成设置为使用 API Gateway中的步骤后,您可以访问 API Gateway 控制台:https://console.aws.amazon.com/apigateway
。 -
AWS开发工具包 – 如果您使用AWS为其提供开发工具包的编程语言,可以使用开发工具包访问 API Gateway。开发工具包可简化身份验证、与您的开发环境轻松集成,并有助于访问 API Gateway 命令。有关更多信息,请参阅用于 Amazon Web Services 的工具
。 -
API Gateway V1 和 V2 API – 如果您使用的是开发工具包不适用的编程语言,请参阅 Amazon API Gateway 版本 1 API 参考和 Amazon API Gateway 版本 2 API 参考。
-
AWS Command Line Interface – 有关更多信息,请参阅 AWS Command Line Interface 用户指南中的开始设置 AWS Command Line Interface。
-
AWS Tools for Windows PowerShell – 有关更多信息,请参阅 AWS Tools for Windows PowerShell 用户指南中的设置 AWS Tools for Windows PowerShell。
AWS 无服务器基础设施的一部分
API Gateway 与 AWS Lambda 共同构成AWS无服务器基础设施中面向应用程序的部分。要了解有关无服务器入门的更多信息,请参阅无服务器开发人员指南。
对于调用公开可用的AWS服务的应用程序,您可以使用 Lambda 与所需的服务进行交互,或在 API Gateway 中通过 API 方法公开 Lambda 函数。AWS Lambda 在高度可用的计算基础设施上运行您的代码。它会进行必要的计算资源执行和管理工作。为了启用无服务器应用程序,API Gateway 支持与 AWS Lambda 以及 HTTP 终端节点之间的简化代理集成。
了解如何开始使用 Amazon API Gateway
有关 Amazon API Gateway 的简介,请参阅以下内容:
-
开始使用 API Gateway,提供了创建 HTTP API 的演练步骤。
-
无服务器 land
,提供了教学视频。 -
快乐的小 API 短视频
,这是一系列简短的教学视频。