Perché la mia operazione Amazon DynamoDB GetItem non restituisce i dati più recenti anche se PutItem ha esito positivo?

2 minuti di lettura
0

Quando scrivo un record su una tabella, PutItem restituisce una risposta HTTP 200 positiva. Tuttavia, quando provo a recuperare l'elemento in una richiesta di lettura, Amazon DynamoDB non restituisce il record.

Soluzione

Solitamente questa situazione si verifica quando si utilizza una lettura a coerenza finale per accedere a un elemento immediatamente dopo aver scritto l'elemento su una tabella. GetItem fornisce una lettura a coerenza finale per impostazione predefinita. Se ripeti la richiesta di lettura dopo un breve periodo di tempo, la risposta dovrebbe restituire i dati più recenti nella tabella relativa a quell'elemento.

Se vuoi recuperare i dati più recenti non appena la richiesta di scrittura ha esito positivo, imposta il parametro ConsistentRead su true. Ciò consente elevate consistenze di lettura. Considera quanto segue sulle elevate consistenze di lettura:

  • Le elevate consistenze di lettura potrebbero avere una latenza più elevata.
  • Le elevate consistenze di lettura non sono supportate negli indici secondari globali.
  • Le elevate consistenze di lettura richiedono il doppio della velocità di trasmissione effettiva rispetto alle letture a coerenza finale. Ciò significa che le elevate consistenze di lettura hanno un’incidenza doppia rispetto alle letture a coerenza finale. Per ulteriori informazioni, consulta Prezzi della capacità fornita o Prezzi della capacità su richiesta.

Per una richiesta di esempio che utilizza elevate consistenze di lettura, vedi Recupero degli attributi degli elementi.


Informazioni correlate

PutItem

Coerenza della lettura

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa