Pourquoi mon opération Amazon DynamoDB GetItem ne renvoie-t-elle pas les dernières données, même si PutItem a réussi ?

Dernière mise à jour : 13/10/2021

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.

Résolution

Cela se produit généralement lorsque vous utilisez une lecture éventuellement cohérente pour accéder à un élément immédiatement après l'avoir écrit dans une table. GetItem fournit une lecture éventuellement cohérente par défaut. Si vous répétez votre demande de lecture après un court laps de temps, la réponse doit renvoyer les dernières données de la table pour cet élément.

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. 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 éventuellement cohérentes. Cela signifie que les lectures fortement cohérentes coûtent deux fois plus cher que les lectures éventuellement cohérentes. 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 ?