Based on DynamoDb documentation why would anyone use updateItem instead of putItem?
PutItem - Writes a single item to a table. If an item with the same primary key exists in the table, the operation replaces the item. For calculating provisioned throughput consumption, the item size that matters is the larger of the two.UpdateItem - Modifies a single item in the table. DynamoDB considers the size of the item as it appears before and after the update. The provisioned throughput consumed reflects the larger of these item sizes. Even if you update just a subset of the item's attributes, UpdateItem will still consume the full amount of provisioned throughput (the larger of the "before" and "after" item sizes).The main difference between the two is, PutItem will Replace an entire item while UpdateItem will Update it.
Eg.
I have an item like:
userId = 1
Name= ABC
Gender= Male
If I use PutItem item with
UserId = 1
Country = India
This will replace Name and Gender and now new Item is UserId and Country.
While if you want to update an item from Name = ABC to Name = 123 you have to use UpdateItem.
You can use PutItem item to update it but you need to send all the parameters instead of just the Parameter you want to update because it Replaces the item with the new attribute(Internally it Deletes the item and Adds a new item)
Hope this makes sense.