2014-10-10 16 views

risposta

6

Questi non sono forniti. Dovresti implementarli eseguendo una query o eseguendo la scansione con un filtro e calcolando tu stesso i valori. Per semplificare un po 'le cose, è possibile utilizzare Count parameter per restituire solo il conteggio degli elementi che verrebbero restituiti da tale query/scansione anziché gli elementi effettivi. (Tieni presente che il conteggio restituisce solo un conteggio parziale: potrebbe essere necessario sommare i conteggi su più pagine di query/scansioni).

In alternativa, è possibile mantenere una tabella separata che memorizza questi valori mentre le tabelle principali vengono aggiornate (si noti che può essere difficile mantenere la sincronizzazione, sarà necessario utilizzare una qualche forma di gestione delle transazioni e tenere in considerazione il modello di consistenza finale della dinamo).

+0

Solo conteggio è supportato https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count – cjungel

+1

Non proprio - contare restituisce solo risultati parziali da quella query - ancora bisogno di assemblare il conteggio totale te stesso. Ho copiato e incollato le note del documento pertinente dal tuo link qui: "* Se gli elementi corrispondenti per un'espressione filtro o una condizione di query sono superiori a 1 MB, Count contiene un conteggio parziale del numero totale di elementi corrispondenti alla richiesta. ottenere il conteggio completo degli elementi corrispondenti, prendere il valore LastEvaluatedKey dalla richiesta precedente e utilizzare tale valore come ExclusiveStartKey nella richiesta successiva. Ripetere l'operazione finché DynamoDB non restituisce più LastEvaluatedKey. * " – Krease

+0

Hai ragione, potresti sommare tutti i conteggi parziali per ottenere il conteggio totale. Ma è ancora più efficiente del recupero dei singoli articoli e del loro conteggio nel lato dell'applicazione. Naturalmente ciò funzionerebbe solo per i conteggi e non per qualsiasi altra funzione aggregata. – cjungel

Problemi correlati