Amazon web services 使用多条件表达式的AWS DynamoDB更新项
我有一个DynamoDB表,我希望使用多个条件表达式更新一个特定的值。我们能做到吗? 我的代码:-Amazon web services 使用多条件表达式的AWS DynamoDB更新项,amazon-web-services,amazon-dynamodb,amazon-dynamodb-streams,Amazon Web Services,Amazon Dynamodb,Amazon Dynamodb Streams,我有一个DynamoDB表,我希望使用多个条件表达式更新一个特定的值。我们能做到吗? 我的代码:- dynamodb = session.resource('dynamodb') table = dynamodb.Table('gold-images') response = table.update_item( Key={ 'AccountRegionOS' : AccOs,
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"
dynamodb=session.resource('dynamodb'))
table=dynamodb.table('gold-images')
响应=table.update\u项(
钥匙={
“AccountRegionOS”:AccOs,
“CreationDate”:cred
},
UpdateExpression=“set is\u active=:r”,
ConditionExpression=“CreationDate<:num”,
表达式属性值={
“:num”:上个月,
“:r”:“否”
},
ReturnValues=“更新的\新的”
我希望条件表达式是
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"
dynamodb=session.resource('dynamodb'))
table=dynamodb.table('gold-images')
响应=table.update\u项(
钥匙={
“AccountRegionOS”:AccOs,
“CreationDate”:cred
},
UpdateExpression=“set is\u active=:r”,
ConditionExpression=(“CreationDate<:num”)和(“AMIID=:ami”),
表达式属性值={
“:num”:上个月,
“:r”:“否”,
“:ami”:我
},
ReturnValues=“更新的\新的”
条件表达式是一个字符串,逻辑运算符是和,或和而不是。因此,您需要删除外圆括号,并用和替换&
:
ConditionExpression = "CreationDate < :num AND AMIID = :ami"
ConditionExpression=“CreationDate<:num和AMIID=:ami”
看