Mon opération Amazon DynamoDB PutItem est réussie, mais GetItem ne renvoie pas les données les plus récentes

Date de la dernière mise à jour : 09/07/2020

Lorsque j'écris un enregistrement dans une table, PutItem renvoie une réponse HTTP 200 réussie. Toutefois, lorsque j'essaie d'extraire l'élément dans une demande de lecture, Amazon DynamoDB ne renvoie pas l'enregistrement mis à jour.

Solution

Cela se produit généralement lorsque vous utilisez une lecture cohérente à terme (eventually consistent) pour accéder à un élément immédiatement après l'avoir écrit dans une table. GetItem fournit une lecture cohérente à terme par défaut. Si vous répétez votre demande de lecture après un court instant, la réponse doit renvoyer les données mises à jour.

Si vous souhaitez récupérer les données les plus récentes dès que la demande d'écriture est réussie, définissez le paramètre ConsistentRead sur true (vrai). Cela active les lectures fortement cohérentes. Notez les points suivants à propos des lectures fortement cohérentes :

  • Les lectures fortement cohérentes peuvent avoir une latence plus élevée.
  • Les lectures fortement cohérentes ne sont pas prises en charge par les index secondaires globaux.
  • Les lectures fortement cohérentes nécessitent deux fois plus de débit que les lectures cohérentes à terme. Cela signifie que les lectures fortement cohérentes coûtent deux fois plus cher que les lectures cohérentes à terme. Pour plus d'informations, consultez Tarification de la capacité allouée ou Tarification de la capacité à la demande.

Pour obtenir un exemple de demande qui utilise des lectures fortement cohérentes, consultez Récupération des attributs d'élément.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?