Amazon dynamodb 为什么PutItem中的ConditionExpression不起作用?
我试图对dynamoDB表执行PutItem操作,使用Amazon dynamodb 为什么PutItem中的ConditionExpression不起作用?,amazon-dynamodb,Amazon Dynamodb,我试图对dynamoDB表执行PutItem操作,使用itemID作为主分区键,使用createdAt作为主排序键,条件如下: { "TableName": "ShoppingBasket", "Item": { "itemID": { "N": "7456473" }, "createdAt": { "S": "2001-02-03T04:05:06Z" } }
itemID
作为主分区键,使用createdAt
作为主排序键,条件如下:
{
"TableName": "ShoppingBasket",
"Item": {
"itemID": {
"N": "7456473"
},
"createdAt": {
"S": "2001-02-03T04:05:06Z"
}
},
"ConditionExpression": "contains(createdAt, :created_at)",
"ExpressionAttributeValues": {
":created_at": {"S": "Z"}
}
}
表达式用于确保为createdAt
属性提供ISO8601 UTC时间。但是它给了我:ConditionalCheckFailedException:条件请求失败
我做错了什么?在尚不存在的项目上使用
包含,将始终计算为false。相反,在调用PutItem之前,请在客户端执行输入验证,检查createdAt
的格式是否正确。在不存在的项上使用contains
将始终计算为false。相反,请在调用PutItem之前在客户端执行输入验证,检查createdAt
的格式是否正确