设计 GraphQL API - AWS AppSync
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

设计 GraphQL API

如果您要构建 GraphQL API,您需要了解一些概念,如架构设计以及如何连接到数据源。

在本部分中,我们向您介绍如何从头开始构建架构、自动预置资源、手动定义数据源并将其连接到 GraphQL 解析程序。AWS AppSync 也可以从头开始构建架构和解析程序,如果您有现有的 Amazon DynamoDB 表,也可以构建带或不带预先存在架构的整个后端。此外,AWS AppSync 提供指导性架构创建向导,建议 GraphQL 或 AWS AppSync 新手用户使用。

GraphQL 架构

每个 GraphQL API 都由单个 GraphQL 架构定义。GraphQL 类型系统描述 GraphQL 服务器的功能并用于确定查询是否有效。服务器的类型系统称为该服务器的架构。它由一组对象类型、标量、输入类型、接口、枚举和联合组成。它定义流经 API 的数据的形状以及可以执行的操作。GraphQL 是强类型化协议,所有数据操作都将对照此架构进行验证。

数据源

数据源是您的 AWS 账户中 GraphQL API 可与之交互的资源。 AWS AppSync 支持 AWS Lambda、 Amazon DynamoDB、关系数据库(Amazon Aurora 无服务器)、Amazon Elasticsearch Service 和 HTTP 端点作为数据源。

AWS AppSync API 可以配置为与多个数据源交互,使您能够在单个位置聚合数据。AWS AppSync 可以使用您的账户中已经存在的 AWS 资源,或者可以代表您从架构定义中预置 DynamoDB 表。

解析程序

GraphQL 解析程序将类型的架构中的字段连接到数据源。解析程序是用于完成请求的机制。AWS AppSync 可以自动从架构中创建和连接解析程序,或者从现有表中创建架构并连接解析程序而不需要编写任何代码。

AWS AppSync 中的解析程序使用以 Apache Velocity 模板语言 (VTL) 编写的映射模板,将 GraphQL 表达式转换为数据源可以使用的格式。

可以在解析程序映射模板编程指南中找到有关编写解析程序的入门教程编程指南,并可以在解析程序映射模板上下文参考中找到编程时可供使用的帮助程序实用程序。AWS AppSync 还有内置的测试和调试流程,可供您在编辑或从头开始编写时使用。有关更多信息,请参阅测试并调试解析程序