我有一个DynamoDB表,我希望使用多个条件表达式更新特定值。我们可以这样做吗? 我的代码: -
dynamodb = session.resource('dynamodb')
table = dynamodb.Table('gold-images')
response = table.update_item(
Key={
'AccountRegionOS' : AccOs,
'CreationDate' : cred
},
UpdateExpression="set is_active = :r",
ConditionExpression="CreationDate < :num",
ExpressionAttributeValues={
':num' : last_month,
':r': "No"
},
ReturnValues="UPDATED_NEW"
我希望Condition表达式
dynamodb = session.resource('dynamodb')
table = dynamodb.Table('gold-images')
response = table.update_item(
Key={
'AccountRegionOS' : AccOs,
'CreationDate' : cred
},
UpdateExpression="set is_active = :r",
ConditionExpression=("CreationDate < :num") & ("AMIID = :ami"),
ExpressionAttributeValues={
':num' : last_month,
':r': "No",
':ami' : i
},
ReturnValues="UPDATED_NEW"
答案 0 :(得分:0)
条件表达式是一个字符串,逻辑运算符是AND
,OR
和NOT
。因此,您需要删除外部括号并将&
替换为AND
:
ConditionExpression = "CreationDate < :num AND AMIID = :ami"