Amazon dynamodb 为什么PutItem中的ConditionExpression不起作用?

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" } }

我试图对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:条件请求失败


我做错了什么?

在尚不存在的项目上使用
包含
,将始终计算为false。相反,在调用PutItem之前,请在客户端执行输入验证,检查
createdAt
的格式是否正确。

在不存在的项上使用
contains
将始终计算为false。相反,请在调用PutItem之前在客户端执行输入验证,检查
createdAt
的格式是否正确