http://docs.aws.amazon.com/zh_cn/apigateway/latest/developerguide/welcome.html

什么是 Amazon API Gateway?

Amazon API Gateway 是一项 AWS 服务,让开发人员能够创建、发布、维护、监控和保护任何规模的 API。


连接 AWS 云及其外部的网关

API Gateway 可以连接 AWS 服务和其他公有或私有网站。它可以提供一致的 RESTful 应用程序编程接口 (API),让移动和 Web 应用程序可以访问 AWS 服务。

API Gateway 的架构如下图所示。

 API Gateway 架构图

从实际上说,API Gateway 让您可以创建、配置和托管 RESTful API,从而让应用程序可以访问 AWS 云。

AWS 无服务器基础设施的一部分

API Gateway 与 AWS Lambda 共同构成 AWS 无服务器基础设施中面向应用程序的部分。对于调用公开 AWS 服务的应用程序,您可以使用 Lambda 与所需的服务交互,并通过 API Gateway 中的 API 方法来使用 Lambda 函数。AWS Lambda 在高可用性计算基础设施上运行代码。它会进行必要的计算资源执行和管理工作。为了支持无服务器应用程序,API Gateway 可以支持与 AWS Lambda 的简化代理集成和 HTTP 终端节点。


开发人员体验

使用 API Gateway 的开发人员有两种:应用程序开发人员和 API 开发人员。应用程序开发人员构建正常运行的应用程序,以便通过 API Gateway 调用 AWS 服务。API 开发人员创建和部署 API,以便启用 API Gateway 中所需的功能。API 开发人员必须是拥有 API 的 AWS 账户中的 IAM 用户。如果 API 不要求 IAM 权限,那么应用程序开发人员就不需要拥有 AWS 账户。

创建和管理 API Gateway API

API 开发人员使用名为 apigateway 的 API Gateway 服务组件来创建、配置和部署 API。每个 API 都包含一组资源和方法。资源是一种逻辑实体,应用程序可以通过资源路径来访问资源。


方法与您的 API 用户提交的 REST API 请求以及返回给该用户的相应响应对应。应用程序不需要知道所请求数据的存储位置和提取位置。API 使用集成请求或集成响应与后端连接。

例如,使用 DynamoDB 作为后端,API 开发人员会设置集成请求以便将传入方法请求转发到所选的后端。该设置包括适当 DynamoDB 操作的规范、所需的 IAM 角色和策略以及所需的输入数据转换。后端将结果作为集成响应返回到 API Gateway。要将与指定 HTTP 状态代码的适当方法响应对应的集成响应路由到客户端,您可以配置集成响应,将所需的响应参数从集成映射到方法。然后,您可以根据需要将后端的输出数据格式转换为前端的输出数据格式。API Gateway 让您能够为负载定义一个架构或模型,以方便设置正文映射模板。

作为 API 开发人员,您可以使用 入门 中所述的 API Gateway 管理控制台或者通过调用 API Gateway REST API 来创建和管理 API。这一 API 有若干种调用方式。其中包括使用 AWS 命令行界面 (CLI),或者使用 AWS 软件开发工具包。您也可以使用 Postman 等 REST API 客户端对 API 进行原始调用。此外,您还可以使用 AWS CloudFormation 模板 基于 Swagger 的 API Gateway 扩展 来支持创建 API。有关提供 API Gateway 的区域以及关联的控制服务终端节点的列表,请参阅区域和终端节点

调用 API Gateway API

应用程序开发人员使用名为 execute-api 的 API Gateway 服务组件来调用在 API Gateway 中创建或部署的 API。底层编程实体由创建的 API 公开。此类 API 有若干种调用方式。您可以使用 API Gateway 控制台来测试调用 API。您可以使用 CURL 或 Postman 等 REST API 客户端来调用 API,也可以使用 API Gateway 为 API 生成的软件开发工具包来调用 API。

请注意 apigatewayexecute-api API Gateway 服务组件之间的差异。在设置 IAM 权限策略以便构建或调用 API 时,请在选择服务组件时引用相应的服务组件名称。

API Gateway 的优势

API Gateway 可以帮助您提供可靠、安全并可以扩展的移动和 Web 应用程序后端。API Gateway 让您能够将移动和 Web 应用程序安全地连接到托管在 AWS Lambda 上的业务逻辑、托管在 Amazon EC2 上的 API 或者托管在 AWS 内部或外部的其他可公开寻址的 Web 服务。借助 API Gateway,您可以针对后端服务创建和运行 API。例如,您不需要开发和维护基础设施来处理授权和访问控制、流量管理、监控和分析、版本管理和软件开发工具包 (SDK) 的生成工作。

API Gateway 专为 Web 和移动开发人员而设计,可以为内部构建或第三方生态系统合作伙伴构建的移动应用程序、Web 应用程序和服务器应用程序提供安全可靠的后端 API 访问。API 背后的业务逻辑可以由 API Gateway 代理调用的可公开访问的终端节点提供,也可以完全作为一个 Lambda 函数来运行。



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐