Amazon DynamoDB の putItem オペレーションが成功しても、GetItem が最新データを返さないのはなぜですか ?

所要時間1分
0

テーブルにレコードを書き込むと、PutItem は成功した HTTP 200 レスポンスを返します。しかし、読み込みリクエストで項目を取得しようとすると、Amazon DynamoDB は更新されたレコードを返しません。

解決方法

これは通常、結果整合性のある読み込みを使用してテーブルに書き込んだ直後、項目にアクセスするとき発生します。GetItem は、デフォルトで結果整合性のある読み込みを提供します。しばらくしてから読み取りリクエストを繰り返すと、レスポンスはその項目のテーブル内の最新データを返します。

書き込みリクエストが成功した後すぐに最新のデータを取得したい場合は、ConsistentRead パラメータを trueに設定します。これにより、強力な整合性のある読み込みが可能になります。強力な整合性のある読み込みについては、以下の点に注意してください。

  • 強い整合性のある読み込みは、レイテンシーが大きくなる可能性があります。
  • 強力な整合性のある読み込みは、グローバルセカンダリインデックスではサポートされません。
  • 強い整合性のある読み込みには、結果整合性のある読み込みの 2 倍のスループットが必要です。つまり、強い整合性のある読み込みのコストは、結果整合性のある読み込みの 2 倍になります。詳細については、プロビジョニングされたキャパシティーの料金またはオンデマンドキャパシティーの料金を参照してください。

強力な整合性のある読み込みを使用するリクエストの例については、Retrieve item attributes を参照してください。


関連情報

PutItem

読み込み整合性

AWS公式
AWS公式更新しました 2年前
コメントはありません