本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
数据来源
在上一节中,我们了解了架构定义数据的形状。不过,我们从未介绍这些数据来自哪里。在实际项目中,您的架构就像一个网关,它处理向服务器发出的所有请求。在发出请求时,架构充当与客户端交互的单个终端节点。架构访问和处理数据,并将其从数据来源转发回客户端。请参阅下面的信息图:

Amazon AppSync 而且 GraphQL 出色地实现了前端后端 (BFF) 解决方案。它们协同工作,通过抽象后端来降低大规模系统的复杂性。如果您的服务使用不同的数据来源和/或微服务,您实际上可以在单个架构(超图)中定义每个源(子图)的数据形状以抽象掉一些复杂性。这意味着您的 GraphQL API 不限于使用一个数据来源。您可以将任意数量的数据来源与 GraphQL API 关联,并在代码中指定它们如何与服务进行交互。
正如您在信息图中看到的一样,GraphQL 架构包含客户端请求数据所需的所有信息。这意味着可以在单个请求中处理所有内容,而不是像 REST 那样在多个请求中进行处理。这些请求经过架构,这是服务的唯一终端节点。在处理请求时,解析器(在下一节中介绍)执行其代码以处理来自相关数据来源的数据。在返回响应时,将使用架构中的数据填充与数据来源关联的子图。
Amazon AppSync 支持许多不同的数据源类型。在下表中,我们将描述每种类型,列出每种类型的一些优点,并提供非常有用的链接以获取额外的背景信息。
数据来源 | 描述 | 优势 | 补充信息 |
---|---|---|---|
Amazon DynamoDB | “Amazon DynamoDB 是一种完全托管的 NoSQL 数据库服务,可以提供快速且可预测的性能以及无缝可扩展性。DynamoDB 可以免除操作和扩展分布式数据库的管理工作负担,因而无需担心硬件预置、设置和预置、复制、软件修补或集群扩展等问题。DynamoDB 还提供静态加密,从而消除了保护敏感数据时涉及的运行负担和复杂性。” |
|
|
Amazon Lambda | “Amazon Lambda 是一项计算服务,可让您在不预配置或管理服务器的情况下运行代码。 Lambda 在可用性高的计算基础设施上运行您的代码,执行计算资源的所有管理工作,其中包括服务器和操作系统维护、容量预置和弹性伸缩和记录。在使用 Lambda 时,您只需在 Lambda 支持的语言运行时系统之一中提供代码。” |
|
|
OpenSearch | “Amazon OpenSearch Service 是一项托管服务,可以轻松地在 Amazon 云中部署、操作和扩展 OpenSearch 集群。亚马逊 OpenSearch 服务支持 OpenSearch 传统的 Elasticsearch OSS(最高 7.10,该软件的最终开源版本)。创建集群时,您可以选择使用哪种搜索引擎。 OpenSearch是一个完全开源的搜索和分析引擎,用于日志分析、实时应用程序监控和点击流分析等用例。有关更多信息,请参阅 OpenSearch 文档 Amazon S OpenSearch ervic e 会为您的 OpenSearch 集群配置所有资源并启动它。它还可以自动检测和替换出现故障的 OpenSearch 服务节点,从而减少与自我管理基础架构相关的开销。您只需调用一次 API 或在控制台中单击几下鼠标按钮,即可扩展集群。” |
|
|
HTTP 端点 | 您可以使用 HTTP 端点作为数据源。 Amazon AppSync 可以向端点发送包含参数和有效载荷等相关信息的请求。将向解析器公开 HTTP 响应,解析器在完成操作后返回最终响应。 |
|
|
Amazon EventBridge | “EventBridge 是一项无服务器服务,它使用事件将应用程序组件连接在一起,使您可以更轻松地构建可扩展的事件驱动应用程序。使用它可以将来自本土应用程序、 Amazon 服务和第三方软件等来源的事件路由到组织中的消费者应用程序。 EventBridge 提供了一种简单而一致的方法来提取、筛选、转换和交付事件,因此您可以快速构建新应用程序。” |
|
|
关系数据库 | “Amazon Relational Database Service(Amazon RDS)是一项网络服务,可以更轻松地在 Amazon 云中设置、操作和扩展关系数据库。它为符合行业标准的关系数据库提供经济高效且可调整大小的容量,并管理常见的数据库管理任务。” |
|
|
None 数据来源 | 如果不打算使用数据来源服务,您可以将其设置为 none 。虽然 none 数据来源仍明确归类为数据来源,但并不是存储介质。尽管如此,它在某些情况下对于数据处理和传递仍然非常有用。 |
|
提示
有关数据源如何与之交互的更多信息 Amazon AppSync,请参阅附加数据源。