【发布时间】:2019-06-17 19:12:55
【问题描述】:
我正在使用 AppSync 开发 React Native 应用程序,以下是我解决问题的架构:
type JoineeDeletedConnection {
items: [Joinee]
nextToken: String
}
type Mutation {
deleteJoinee(ids: [ID!]): [Joinee]
}
在解析器到deleteJoinee 的“请求映射模板”中,我有以下内容(遵循https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-dynamodb-batch.html 的教程):
#set($ids = [])
#foreach($id in ${ctx.args.ids})
#set($map = {})
$util.qr($map.put("id", $util.dynamodb.toString($id)))
$util.qr($ids.add($map))
#end
{
"version" : "2018-05-29",
"operation" : "BatchDeleteItem",
"tables" : {
"JoineesTable": $util.toJson($ids)
}
}
..并在解析器的“响应映射模板”中,
$util.toJson($ctx.result.data.JoineesTable)
问题是,当我运行查询时,我得到了空结果,并且没有任何内容被删除到数据库中:
// calling the query
mutation DeleteJoinee {
deleteJoinee(ids: ["xxxx", "xxxx"])
{
id
}
}
// returns
{
"data": {
"deleteJoinee": [
null
]
}
}
【问题讨论】:
-
您能否启用 cloudwatch 日志并发布您返回的内容
-
我想我能够以某种方式启用 cloudwatch 日志,这是我的变异查询输出 - socrates.io/#DADKwr4。我想让您注意的一件事是,如果我将查询作为 id 解析器的单个删除来执行,那效果很好。
-
它看起来像一个访问错误 - 但正如所说,当按 id 删除单个时,删除工作正常。
标签: amazon-dynamodb aws-appsync