【发布时间】:2020-02-12 14:21:46
【问题描述】:
我是 AWS AppSync 的新手,但它很容易学习和理解。
我正在尝试创建一个解析器,当用户运行getChore(id: "") 时,它将返回所有杂务信息。它成功地做到了,问题在于有两个字段:createdBy & assignedTo 链接到 user 类型。
type Chore {
id: ID!
title: String
desc: String
status: String
reward: Float
retryDeduction: Float
required: Boolean
createdDate: AWSDateTime
date: AWSDateTime
interval: String
assignedTo: User
createdBy: User
}
type User {
id: ID!
age: Int
f_name: String
l_name: String
type: Int
admin: Boolean
family: Family
}
在 aws appsync 中尝试将解析器附加到 assignedTo: User 和 createdBy: User,因此我的查询将如下所示:
query getChore {
getChore(id: "36d597c8-2c7e-4f63-93ee-38e5aa8f1d5b") {
id
...
...
assignedTo {
id
f_name
l_name
}
createdBy {
id
f_name
l_name
}
}
}
然而,当我启动这个查询时,我得到一个错误:
The provided key element does not match the schema (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException;
我已经研究过,但似乎找不到正确的解决方案。
我使用的解析器是:
{
"version": "2017-02-28",
"operation": "GetItem",
"key": {
"id": $util.dynamodb.toDynamoDBJson($ctx.args.id),
}
}
返回:
$util.toJson($ctx.result)
【问题讨论】:
标签: graphql aws-appsync