Amazon dynamodb AppSync BatchDeleteItem未正确执行
我正在使用AppSync开发一个React本机应用程序,下面是我对该问题的解决方案: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
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"