boto3ドキュメントでは、アイテムの更新は次の例で説明されています。
table.update_item(
Key={
'username': 'janedoe',
'last_name': 'Doe'
},
UpdateExpression='SET age = :val1',
ExpressionAttributeValues={
':val1': 26
}
)
しかし、アイテムのいくつかの値を更新したい場合はどうすればよいですか?これに関する情報は見つかりませんでした。誰か助けてもらえますか?ありがとうございました!
編集:
OK、それはこのように機能しているようですが、これが正しい方法であるかどうか誰でも確認できます。私がここで完全に間違っていることをしていないことを確認するためだけに。
table.update_item(
Key={
'id': item['id']
},
UpdateExpression='SET value1 = :val1, value2 = :val2',
ExpressionAttributeValues={
':val1': someValue1,
':val2': someValue2
}
)
ありがとう!
はい、それが方法です。 ここ のように、多くのアクションでさえ単一の式で実行できます。例:1つの式に複数の「PUT」と「DELETE」。
これを見つけた他の人のために、ExpressionAttributeValues
のような奇妙なboto3のものを支援するために使用できるライブラリがあります。このようにして、通常の開発者/人間による呼び出しを行うことができます。
https://github.com/rayepps/dynamof
db(update(
table_name='users',
key={ 'id': item['id'] },
attributes={
'age': 26,
'name': 'Carl'
}))
免責事項:私が書いた