使用 AppSync 联接 DynamoDB 表

Posted

技术标签:

【中文标题】使用 AppSync 联接 DynamoDB 表【英文标题】:Joining DynamoDB tables with AppSync 【发布时间】:2019-05-06 13:01:25 【问题描述】:

我有两种类型:

type Location 
    id: ID!
    room: Int
    title: String


type Populate 
    id: ID!
    locationID: ID!
    location: Location

当我调用 GraphQL api 时,我需要填充 location 字段。位置存储在 DynamoDB 中。我知道解析器是必要的,但我一直不知道如何编写它。感谢您的帮助!

【问题讨论】:

【参考方案1】:

您可以通过 AWS AppSync 控制台执行此操作。当您尝试将解析器附加到架构中的现有字段时,AppSync 会为您提供某些开箱即用的预定义解析器模板。您可以使用它们连接到您的 DynamoDB 数据源。

请参阅following documentation 以附加解析器。

或者,您可以使用AWS Amplify 来使用@connection 指令来指定LocationPopulate 类型之间的关系。这会将其转换为完全描述性的 CloudFormation 模板并创建 DynamoDB 表,为您提供基于 CRUDL 的查询/突变。它还将为相同的解析器模板搭建脚手架。

【讨论】:

以上是关于使用 AppSync 联接 DynamoDB 表的主要内容,如果未能解决你的问题,请参考以下文章

使用 AWS AppSync 将项目附加到 DynamoDB

让 DynamoDB Stream Lambda 函数调用 AWS AppSync 突变

如何操作 AWS AppSync 和 GraphQL 以符合 DynamoDB 最佳实践?

用于过滤用例的AppSync DynamoDB解析器

Aws Appsync 解析器:如何创建解析器以更新列表映射 (DynaMoDB) 中的项目

哪些情况会导致 AppSync 无法从 DynamoDB 表中返回所有匹配的记录/项目?