dynamodbの更新をsqlのようにするには


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




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)辺りを使うことになるでしょうか。




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)辺りを使うことになるでしょうか。

