1. ホーム
  2. amazon-web-services

[解決済み] DynamoDbのPutItemとUpdateItemの違いとは?

2022-11-22 08:56:42

質問

DynamoDbのドキュメントに基づくと、なぜ誰もが updateItem の代わりに putItem ?


  • PutItem - テーブルに1つの項目を書き込む。同じ主キーを持つアイテムがテーブル内に存在する場合、この操作はそのアイテムを置き換えます。プロビジョニングされたスループット消費を計算するために、重要なアイテム サイズは 2 つのうち大きい方です。
  • UpdateItem - テーブル内の1つのアイテムを変更します。DynamoDBは、更新前と更新後に表示されるアイテムの大きさを考慮します。消費されるプロビジョニングされたスループットは、これらのアイテムサイズのうち大きい方を反映します。アイテムの属性のサブセットだけを更新する場合でも UpdateItem は依然としてプロビジョニングされたスループットの全量を消費します ( の大きい方、および "before"と "after"のアイテムのサイズ ).

どのように解決するのですか?

両者の主な違いは PutItem 意志 を置き換える はアイテム全体を UpdateItem 更新 します。

Eg.

みたいな項目があるんですが

userId = 1
Name= ABC
Gender= Male

もし私が PutItem という項目で

UserId = 1
Country = India

これでNameとGenderが置き換わり、新しいItemはUserIdとCountryになります。 一方 Name = ABC から Name = 123 を使用する必要があります。 UpdateItem .

を使うことができます。 PutItem を使って更新することもできますが、更新したいパラメータだけでなく、すべてのパラメータを送信する必要があります。

これで理解できたでしょうか?