我尝试针对dynamoDB表执行PutItem操作,其中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: The conditional request failed
我做错了什么?
答案 0 :(得分:0)
对尚不存在的项目使用contains
将始终评估为false。相反,请在调用PutItem之前在客户端执行输入验证,检查createdAt
的格式是否正确。