在AWS AppSync中,DeleteItem操作默认情况下不执行响应映射模板。这是因为DeleteItem操作不返回任何响应数据。
如果您想要在DeleteItem操作后执行响应映射模板,可以使用AWS AppSync提供的@aws_iam
指令来自定义模板。以下是一个示例解决方法:
Todo
,您可以添加一个名为deleteResponse
的字段。type Todo {
id: ID!
name: String!
deleteResponse: String
}
{
"version" : "2018-05-29",
"operation" : "DeleteItem",
"key" : {
"id" : $util.dynamodb.toDynamoDBJson($ctx.args.id)
},
"condition" : {
"expression": "attribute_exists(id)"
}
}
$ctx.result
中。修改后的模板如下所示:{
"version" : "2018-05-29",
"operation" : "DeleteItem",
"key" : {
"id" : $util.dynamodb.toDynamoDBJson($ctx.args.id)
},
"condition" : {
"expression": "attribute_exists(id)"
},
"response": {
"deleteResponse": $util.toJson($ctx.result)
}
}
现在,当您执行DeleteItem操作时,AppSync将在响应映射模板中创建一个新的deleteResponse
字段,并将DeleteItem操作的响应数据存储在其中。