具有“自定义类型”属性的DynamoDB表的Graphql Mutation查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有“自定义类型”属性的DynamoDB表的Graphql Mutation查询相关的知识,希望对你有一定的参考价值。
在Graphql Appsync中需要帮助
Appsync自定义类型:
type Employee
id: ID!
name: String
experiences: [Experiences]
projects: [Projects]
Dynamo DB table Employee
Table: Employee
id:’’,
name:’’,
experience:[
company:’’,
from:’’,
till:’’
,
company:’’,
from:’’,
till:’’
],
projects:[
title:’’,
date:’’
,
title:’’,
date:’’
,
]
我们需要在2个不同的变异查询中更新经验和项目,但更新应该在同一个dynamodb表中完成。以下是我的疑惑:
- 需要为Projects&Experience创建单独的dynamodb表。如何为此表更新项目和diff变异经验编写变异查询?
让我试着回答你的问题:
我们需要在2个不同的变异查询中更新经验和项目,但更新应该在同一个dynamodb表中完成。
您可以在AppSync中创建单个DataSource,并具有2个针对此DataSource解析的突变。这样,您的突变接受一系列经验或项目类型,并且您的解析器负责写入此DynamoDB数据源。
需要为Projects&Experience创建单独的dynamodb表。
这实际上取决于你的用例。使用单独的DynamoDB表可帮助您使用二级索引获取[1:N]相关类型。单独的表还可以帮助您对相关类型进行分页,而不是在单个调用中获取所有依赖项。如果您最终使用单个表来存储Employee / Projects / Experience,请参阅DynamoDB解析程序中的Lists and Maps types部分。
如何为此表更新项目和diff变异经验编写变异查询?
就像我提到的那样,你只需在你的Schema中定义2个接受类型列表的突变。在解析器中,您将写入适当的表。请参阅AppSync中的following documentation on DynamoDB Resolvers。
或者,您也可以使用DynamoDB Batch Resolver将数据写入多个表。
以上是关于具有“自定义类型”属性的DynamoDB表的Graphql Mutation查询的主要内容,如果未能解决你的问题,请参考以下文章
具有 CloudFormation 的 Amazon DynamoDB 属性类型