Boto3 更新多个值
Boto3 updating multiple values
在 boto3 文档中更新一个项目是通过这个例子描述的:
table.update_item(
Key={
'username': 'janedoe',
'last_name': 'Doe'
},
UpdateExpression='SET age = :val1',
ExpressionAttributeValues={
':val1': 26
}
)
但是,如果我想更新项目的多个值,我该怎么办。我找不到这方面的任何信息。有人可以帮忙吗?谢谢!
编辑:
好的,它似乎是这样工作的,任何人都可以确认这是否是正确的方法。只是为了确保我在这里没有做任何完全错误的事情。
table.update_item(
Key={
'id': item['id']
},
UpdateExpression='SET value1 = :val1, value2 = :val2',
ExpressionAttributeValues={
':val1': someValue1,
':val2': someValue2
}
)
谢谢!
是的,就是这样。甚至许多操作都可以在单个表达式中完成,如 here 所示。
例如:单个表达式中的多个 'PUT' 和 'DELETE'。
对于其他发现此问题的人,您可以使用一个库来帮助解决奇怪的 boto3 问题,例如 ExpressionAttributeValues
。这样您就可以进行正常的 developer/human 调用。
https://github.com/rayepps/dynamof
db(update(
table_name='users',
key={ 'id': item['id'] },
attributes={
'age': 26,
'name': 'Carl'
}))
免责声明:我写的
在 boto3 文档中更新一个项目是通过这个例子描述的:
table.update_item(
Key={
'username': 'janedoe',
'last_name': 'Doe'
},
UpdateExpression='SET age = :val1',
ExpressionAttributeValues={
':val1': 26
}
)
但是,如果我想更新项目的多个值,我该怎么办。我找不到这方面的任何信息。有人可以帮忙吗?谢谢!
编辑:
好的,它似乎是这样工作的,任何人都可以确认这是否是正确的方法。只是为了确保我在这里没有做任何完全错误的事情。
table.update_item(
Key={
'id': item['id']
},
UpdateExpression='SET value1 = :val1, value2 = :val2',
ExpressionAttributeValues={
':val1': someValue1,
':val2': someValue2
}
)
谢谢!
是的,就是这样。甚至许多操作都可以在单个表达式中完成,如 here 所示。 例如:单个表达式中的多个 'PUT' 和 'DELETE'。
对于其他发现此问题的人,您可以使用一个库来帮助解决奇怪的 boto3 问题,例如 ExpressionAttributeValues
。这样您就可以进行正常的 developer/human 调用。
https://github.com/rayepps/dynamof
db(update(
table_name='users',
key={ 'id': item['id'] },
attributes={
'age': 26,
'name': 'Carl'
}))
免责声明:我写的