Amazon DynamoDB の PutItem オペレーションは成功しましたが、GetItem が最新のデータを返しません

最終更新日: 2020 年 7 月 9 日

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

解決方法

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

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

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

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


この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?