Una tabella DynamoDB denominata `orders` ha una chiave di partizione primaria `id` e un indice secondario globale `accountIndex` con chiave di partizione `accountId` e chiave di ordinamento `orderDateTime`. Una funzione Lambda deve recuperare gli ordini per `accountId = 100`. Quale chiamata API DynamoDB restituirà tali elementi utilizzando la minore capacità di lettura?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Utilizzare la chiamata API `Query` sull'GSI `accountIndex` specificando `accountId = 100`..
Perché questa è la risposta
La risposta corretta è usare l'API Query sull'GSI accountIndex specificando accountId = 100. L'operazione Query è ottimizzata per recuperare elementi basati su chiavi di partizione (e opzionalmente chiavi di ordinamento) e utilizza l'indice secondario globale (GSI) accountIndex per trovare efficientemente tutti gli ordini per un dato accountId. Questo è il metodo più efficiente in termini di capacità di lettura, poiché legge solo gli elementi pertinenti dall'indice. Le altre opzioni sono meno efficienti: GetItem recupera un singolo elemento per chiave primaria, non è adatto per recuperare più ordini per un accountId. BatchGetItem recupera più elementi per chiave primaria, ma richiede di conoscere tutti gli id degli ordini in anticipo, cosa che non è il caso qui. Scan legge tutti gli elementi della tabella e poi filtra i risultati, consumando molta più capacità di lettura del necessario e risultando inefficiente per tabelle di grandi dimensioni.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta