如何通过boto3在DynamoDB表中有条件地插入项
- 论坛
- 如何通过boto3在DynamoDB表中有条件地插入项
8 浏览
如何通过boto3在DynamoDB表中有条件地插入项
如果我有一个哈希键为userId,范围键为productId的表,那么如何使用boto3的dynamodb绑定将项放入该表中,仅当该项不存在时才放入?
普通的put_item调用如下所示:
table.put_item(Item={'userId': 1, 'productId': 2})
带有ConditionExpression的调用如下所示:
table.put_item( Item={'userId': 1, 'productId': 2}, ConditionExpression='userId <> :uid AND productId <> :pid', ExpressionAttributeValues={':uid': 1, ':pid': 3} )
但是这会每次引发ConditionalCheckFailedException异常,无论是否存在具有相同productId的项。