Amazon dynamodb AppSync BatchDeleteItem未正确执行

Amazon dynamodb AppSync BatchDeleteItem未正确执行,amazon-dynamodb,aws-appsync,Amazon Dynamodb,Aws Appsync,我正在使用AppSync开发一个React本机应用程序,下面是我对该问题的解决方案: type JoineeDeletedConnection { items: [Joinee] nextToken: String } type Mutation { deleteJoinee(ids: [ID!]): [Joinee] } 在“请求映射模板”到解析程序到deleteJoinee中,我有以下内容(遵循来自的教程): ..并在到解析器的“响应映射模板”中 $util.toJ

我正在使用AppSync开发一个React本机应用程序,下面是我对该问题的解决方案:

type JoineeDeletedConnection {
    items: [Joinee]
    nextToken: String
}
type Mutation {
    deleteJoinee(ids: [ID!]): [Joinee]
}
在“请求映射模板”到解析程序到
deleteJoinee
中,我有以下内容(遵循来自的教程):

..并在到解析器的“响应映射模板”中

$util.toJson($ctx.result.data.JoineesTable)
问题是,当我运行查询时,我得到的结果为空,数据库中也没有删除任何内容:

// calling the query
mutation DeleteJoinee {
  deleteJoinee(ids: ["xxxx", "xxxx"])
  {
      id
  }
}

// returns
{
  "data": {
    "deleteJoinee": [
      null
    ]
  }
}

我终于能够解决这个难题了,感谢上面提到的答案给我指明了方向

尽管我注意到JoineesTable在IAM的“角色”部分中确实有受信任的实体/角色,但出于某种原因它不起作用。进一步研究,我注意到现有的策略默认有以下
操作

"Action": [
    "dynamodb:DeleteItem",
    "dynamodb:GetItem",
    "dynamodb:PutItem",
    "dynamodb:Query",
    "dynamodb:Scan",
    "dynamodb:UpdateItem"
]
一旦我在列表中添加了以下两个
操作
,事情就开始起作用了:

"dynamodb:BatchWriteItem",
"dynamodb:BatchGetItem"

感谢@Vasileios Lekakis和@Ionut Trestian在这个appSync任务中)

你能启用cloudwatch日志并发布你得到的反馈吗?我想我能以某种方式启用cloudwatch日志,这是我的变异查询输出-。有一件事我想让你注意到,如果我将查询作为单个id解析程序执行,效果很好。这看起来像是一个访问错误-但是正如前面所说的,当删除单个id时,删除工作正常。
"dynamodb:BatchWriteItem",
"dynamodb:BatchGetItem"