【发布时间】:2018-06-27 05:48:15
【问题描述】:
我是 AWS 的新手,我正在尝试使用查询更新 DynamoDB 中的值,但它在错误下方返回给我
提供的关键元素与架构不匹配
代码完成,响应如下所示
错误响应
{
"data": {
"updateIsRead": null
},
"errors": [
{
"path": [
"updateIsRead"
],
"data": null,
"errorType": "DynamoDB:AmazonDynamoDBException",
"errorInfo": null,
"locations": [
{
"line": 30,
"column": 3
}
],
"message": "The provided key element does not match the schema (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: 7ELPDK32SD0K9TGT31J03ANHVNVV4KQNSO5AEMVJF66Q9ASUAAJG)"
}
]
}
查询
//I want to update the isRead key value to true of below messageId
mutation UpdateISRead{
updateIsRead(input:{messageId:"3253b0b4-6645-4df2-952f-93694cc70af3"}){
messageId
}
}
架构
type Mutation {
updateIsRead(input: MessageIDInput!): MessageRecipient
}
type MessageRecipient {
messageId: ID!
messageRecipientId: String!
receiverId: String!
isRead: Boolean!
}
Mutation.updateIsRead 的解析器
{
"version" : "2017-02-28",
"operation" : "UpdateItem",
"key" : {
"messageId" : $util.dynamodb.toDynamoDBJson($ctx.args.messageId)
},
"update" : {
"expression" : "SET #fieldName = :fieldValue",
"expressionNames" : {
"#fieldName" : "isRead"
},
"expressionValues" : {
":fieldValue" : { "BOOL" : true }
}
}
}
非常感谢任何帮助。 提前致谢。
【问题讨论】:
-
您的分区键和排序键属性和类型是什么?要了解进入 DynamoDB 控制台,请单击左侧菜单上的表,您应该会看到它显示在右侧。
标签: amazon-web-services amazon-dynamodb