

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

# 数据来源
<a name="data-source-components"></a>

在上一节中，我们了解了架构定义数据的形状。不过，我们从未介绍这些数据来自哪里。在实际项目中，您的架构就像一个网关，它处理向服务器发出的所有请求。在发出请求时，架构充当与客户端交互的单个终端节点。架构访问和处理数据，并将其从数据来源转发回客户端。请参阅下面的信息图：

![\[GraphQL schema integrating multiple AWS 服务 for a single endpoint API architecture.\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/images/aws-flow-infographic.png)


AWS AppSync 而且 GraphQL 出色地实现了前端后端 (BFF) 解决方案。它们协同工作，通过抽象后端来降低大规模系统的复杂性。如果您的服务使用不同的数据来源和/或微服务，您实际上可以在单个架构（超图）中定义每个源（子图）的数据形状以抽象掉一些复杂性。这意味着您的 GraphQL API 不限于使用一个数据来源。您可以将任意数量的数据来源与 GraphQL API 关联，并在代码中指定它们如何与服务进行交互。

正如您在信息图中看到的一样，GraphQL 架构包含客户端请求数据所需的所有信息。这意味着可以在单个请求中处理所有内容，而不是像 REST 那样在多个请求中进行处理。这些请求经过架构，这是服务的唯一终端节点。在处理请求时，解析器（在下一节中介绍）执行其代码以处理来自相关数据来源的数据。在返回响应时，将使用架构中的数据填充与数据来源关联的子图。

AWS AppSync 支持许多不同的数据源类型。在下表中，我们将描述每种类型，列出每种类型的一些优点，并提供非常有用的链接以获取额外的背景信息。


| 数据来源 | 说明 | 优势 | 补充信息 | 
| --- | --- | --- | --- | 
| Amazon DynamoDB | “Amazon DynamoDB 是一种完全托管的 NoSQL 数据库服务，可以提供快速且可预测的性能以及无缝可扩展性。DynamoDB 可以免除操作和扩展分布式数据库的管理工作负担，因而无需担心硬件预置、设置和预置、复制、软件修补或集群扩展等问题。DynamoDB 还提供静态加密，从而消除了保护敏感数据时涉及的运行负担和复杂性。” |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  | 
| AWS Lambda | “AWS Lambda 是一项计算服务，可让您在不预配置或管理服务器的情况下运行代码。Lambda 在可用性高的计算基础设施上运行您的代码，执行计算资源的所有管理工作，其中包括服务器和操作系统维护、容量预置和弹性伸缩和记录。在使用 Lambda 时，您只需在 Lambda 支持的语言运行时系统之一中提供代码。” |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  | 
| OpenSearch | “Amazon OpenSearch Service 是一项托管服务，可以轻松地在 AWS 云中部署、操作和扩展 OpenSearch 集群。亚马逊 OpenSearch 服务支持 OpenSearch 传统的 Elasticsearch OSS（最高 7.10，即该软件的最终开源版本）。创建集群时，您可以选择使用哪种搜索引擎。**OpenSearch**是一个完全开源的搜索和分析引擎，用于日志分析、实时应用程序监控和点击流分析等用例。有关详情，请参阅 [OpenSearch 文档](https://opensearch.org/docs/)。**Amazon S OpenSearch ervic** e 会为您的 OpenSearch 集群配置所有资源并启动它。它还可以自动检测和替换出现故障的 OpenSearch 服务节点，从而减少与自我管理基础架构相关的开销。您只需调用一次 API 或在控制台中单击几下鼠标按钮，即可扩展集群。” |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  | 
| HTTP 端点 | 您可以使用 HTTP 端点作为数据源。 AWS AppSync 可以向端点发送包含参数和有效载荷等相关信息的请求。将向解析器公开 HTTP 响应，解析器在完成操作后返回最终响应。 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  | 
| Amazon EventBridge | “EventBridge 是一项无服务器服务，它使用事件将应用程序组件连接在一起，使您可以更轻松地构建可扩展的事件驱动应用程序。使用它可以将来自本土应用程序、 AWS 服务和第三方软件等来源的事件路由到组织中的消费者应用程序。 EventBridge 提供了一种简单而一致的方法来提取、筛选、转换和交付事件，因此您可以快速构建新应用程序。” |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  | 
| 关系数据库 | “Amazon Relational Database Service（Amazon RDS）是一项网络服务，可以更轻松地在 AWS 云中设置、操作和扩展关系数据库。它为符合行业标准的关系数据库提供经济高效且可调整大小的容量，并管理常见的数据库管理任务。” |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  | 
| None 数据来源 | 如果不打算使用数据来源服务，您可以将其设置为 none。虽然 none 数据来源仍明确归类为数据来源，但并不是存储介质。尽管如此，它在某些情况下对于数据处理和传递仍然非常有用。 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/appsync/latest/devguide/data-source-components.html)  | 

**提示**  
有关数据源如何与之交互的更多信息 AWS AppSync，请参阅[附加数据源](https://docs.aws.amazon.com//appsync/latest/devguide/attaching-a-data-source.html)。