rm.*_*etc 3 graphql aws-appsync
我正在尝试使用 AWS AppSync 构建我的第一个 GraphQL 后端。我只是想弄清楚如何使用一对多关联。我希望收到许多相关对象作为子对象列表,并且能够在创建新用户时写入其中一些子对象。
type User {
id: ID!
name: String!
records: [Records!]!
}
type Records {
id: ID!
userId: ID!
title: String!
... etc ...
}
Run Code Online (Sandbox Code Playgroud)
使用 AppSync 界面,我单击Create Resources一次创建记录表,然后再次单击创建用户表,这两个表都在 DynamoDB 中。这还会自动将突变、订阅、输入类型和更多类型添加到我的架构中,并为我创建解析器。
创建与我的 User 对象关联的 Record 对象的突变语法是什么?创建用户时如何放置记录数据?
如果需要,我可以包含 AppSync 自动生成的更多架构。
小智 5
由于您使用两个 DynamoDB 表(用户和记录),因此您需要在 CreateUser 突变期间进行两次 DynamoDB 调用。在单个突变中进行两次 DynamoDB 调用的一种方法是利用 DynamoDB 的BatchPutItem操作。
要使用 BatchPutItem,您需要修改附加到 CreateUser 突变的解析器。解析器负责获取您的 graphQL 请求,将其转换为 DynamoDB 操作,然后将 DynamoDB 操作的结果转换为 graphQL 响应。解析器有两个组件:请求映射模板和响应映射模板。
请求映射模板将负责获取突变参数并将其转换为 DynamoDB BatchPutItem 请求。
解析器的响应映射模板将负责将 DynamoDB BatchPutItem 操作的结果转换为突变的返回类型/结构。
以下是有关如何在解析器中使用多表 BatchPutItem 的教程:https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-dynamodb-batch.html
以下是使用解析器所需的模板语言的编程指南:https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference-programming-guide.html
| 归档时间: |
|
| 查看次数: |
2881 次 |
| 最近记录: |