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

Posted

技术标签:

【中文标题】用于过滤用例的 AppSync DynamoDB 解析器【英文标题】:AppSync DynamoDB resolver for filtering use case 【发布时间】:2019-02-12 00:10:47 【问题描述】:

我正在开发一个允许用户将资源上传到互联网的应用程序。

我正在为如何编写一个解析器来获取特定用户发布的资源而苦恼。

我有 3 个 DynamoDB 表

UserTable -> 用户集合 PostTable -> 资源集合 PostUserTable -> 用于存储 User 和 Post 之间关系的集合

在传统的 RDBS 中,可以通过使用 PostUserTable 连接 2 个表(UserTablePostTable)来完成。尽管 DynamoDB 或任何类型的 NoSQL 数据库允许我们以更灵活的方式存储数据,但我希望(希望)每个用户在一天结束时都有很多资源,所以我决定以与RDMS。

但我不确定如何编写解析器来仅过滤特定用户的帖子?我有一个名为 getMyPosts 的 graphql 查询,我希望它返回我上传的帖子。

【问题讨论】:

【参考方案1】:

如果您转到 AppSync 控制台并单击字段上的“附加”以添加解析器,则每个解析器模板代码编辑器的右上角都有一个下拉菜单,其中包含许多关于如何制作解析器的注释示例DynamoDB 的模板。这是一个很好的起点,并且有多个过滤器示例等等。您可以在此处阅读有关完整 DynamoDB 过滤器语法的更多信息:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.FilterExpression。

【讨论】:

以上是关于用于过滤用例的 AppSync DynamoDB 解析器的主要内容,如果未能解决你的问题,请参考以下文章

时间戳范围之间的 AWS Appsync 订阅过滤器

DynamoDB Appsync 查询多个属性

如何在 aws AppSync 中按 createdAt 和 updatedAt 排序和过滤?

如何向 DynamoDB/AppSync 添加访问规则?

使用 AppSync 联接 DynamoDB 表

具有业务逻辑的 AWS Appsync + DynamoDB