如果我有一个带有userId的散列键和productId的范围键的表,只有当它不存在时才可以将项目放入该表中使用boto3的dynamodb绑定?如何使用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的项目。
呃...我已阅读文档。但是我发现写一个条件表达式是非直观的,我担心我编写它的方式可能不会做我认为正在做的事情。所以想知道其他人是否真的做过。你有一个你如何做的例子吗?我会更新我的答案,显示我是如何做到的 – aychedee
我加入到答案中,我如何做到这一点..(使用覆盖) –
啊好吧...这是使用博托。我在问boto3。但感谢您花时间看看。 – aychedee