Python 放置DynamoDB项目(如果没有';不存在,或具有相同的值
我试图编写一些代码,在两种情况下将项目放入dynamo数据库:Python 放置DynamoDB项目(如果没有';不存在,或具有相同的值,python,amazon-dynamodb,boto3,atomic,Python,Amazon Dynamodb,Boto3,Atomic,我试图编写一些代码,在两种情况下将项目放入dynamo数据库: 主键还不存在 它确实存在,它的值与我的输入相同 我尝试使用以下代码: table.put\u项目( 项目={ “示例”:“foobar” }, ConditionExpression='attribute'u不存在(示例)或(示例=:值)', 表达式属性值={ ':value':{S':'foobar'} } ) 当该项不存在时,此操作正常,但条件表达式的第二部分似乎总是失败: (示例=:值) 就本问题而言,假设数据库具有以下内容
table.put\u项目(
项目={
“示例”:“foobar”
},
ConditionExpression='attribute'u不存在(示例)或(示例=:值)',
表达式属性值={
':value':{S':'foobar'}
}
)
当该项不存在时,此操作正常,但条件表达式的第二部分似乎总是失败:
(示例=:值)
就本问题而言,假设数据库具有以下内容:
[
{'example':'foobar'}
]
我的条件表达式有问题吗?根据,表
资源的put\u项
操作接受以下内容作为表达式属性值
参数的输入:
ExpressionAttributeValues={
'string': 'string'|123|Binary(b'bytes')|True|None|set(['string'])|set([123])|set([Binary(b'bytes')])|[]|{}
}
因此,从
ExpressionAttributeValues={
':value': {'S': 'foobar'}
}
到
将起作用。根据,表
资源的放置项
操作接受以下内容作为表达式属性值
参数的输入:
ExpressionAttributeValues={
'string': 'string'|123|Binary(b'bytes')|True|None|set(['string'])|set([123])|set([Binary(b'bytes')])|[]|{}
}
因此,从
ExpressionAttributeValues={
':value': {'S': 'foobar'}
}
到
会有用的。是的,成功了!一定是通过看几篇文章得出了错误的语法。是的,就是这样!一定是通过看几篇文章得出了错误的语法。