56804


dyanmodbの更新をするには、put,updateが存在しますよね。  
そのどちらも存在しないデータであった場合は追加してくれるのですが。  
仮に存在しないデータを更新した時追加されず何も変化がない状態にしたい場合（プライマリキーで特定できなかったデータ）はどのように実装しているのでしょう？？  
僕の予想では、一度読み出すなどして、ifなどでupdate自体の処理を分岐させると思っております。  
言語はgolangを使用して勉強しています。


CC BY-SA 4.0
2019-07-22T02:07:58.633
56794
2020-07-09T17:06:28.117
2020-07-09T17:06:28.117
3060
31135
question
aws go aws-lambda amazon-dynamodb
dynamodbの更新をsqlのようにするには


DynamoDBの[`UpdateItem`](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/WorkingWithItems.html#WorkingWithItems.WritingData.UpdateItem)は

> 指定されたキーを持つ項目が存在しない場合は、UpdateItem により新しい項目が作成されます。

ですが、[条件付きの書き込み](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/WorkingWithItems.html#WorkingWithItems.ConditionalUpdate)を行うことで、制御できます。具体的には[`attribute_exists`](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html)辺りを使うことになるでしょうか。


CC BY-SA 4.0
2019-07-22T05:40:11.730
56804
2019-07-22T05:40:11.730
4236
56794
answer