2015-01-23 6 views
8

Ich bin ziemlich neu in Amazon AWS und seine API für Java, so dass ich nicht genau weiß, was die effizienteste Methode für das, was ich versuche, wäre. Im Grunde versuche ich eine Datenbank einzurichten, die die ID eines Projekts, seinen Status sowie den Bucket speichert. Woran ich Probleme habe, ist eine Liste aller Benutzer ohne Primärschlüssel zu erhalten. Irgendwelche Empfehlungen?Wie kann ich alle Elemente aus einer DynamoDB-Tabelle abrufen, ohne den Primärschlüssel mit Java anzugeben?

Antwort

7

Sie können den von DynamoDB bereitgestellten Scanvorgang verwenden. Es benötigt keinen Primärschlüssel zum Arbeiten. Bedenken Sie jedoch, dass der Scan-Vorgang sehr ineffizient ist und mehr Lesekapazität benötigt. Lesen Sie über Scan hier auf seinem offiziellen Dokument.

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html

Wenn Sie nur wollen, um alle Einträge abrufen, ist DynamoDB wahrscheinlich keine Eine ordnungsgemäße Wahl, um diese Daten zu speichern.

+2

"Wenn Sie nur alle Einträge abrufen möchten, ist DynamoDB wahrscheinlich keine richtige Wahl zum Speichern dieser Daten." -Warum nicht? – lonewarrior556

+6

@ lonewarrior556 für einen Ich denke, es wäre ziemlich teuer: Angenommen, Sie haben eine Tabelle mit 1.000 Elementen und möchten alle Elemente innerhalb einer Sekunde mit dem Scan-Vorgang lesen: - vorausgesetzt, jedes Element ist kleiner als 4 KB in Größe - vorausgesetzt, Sie verwenden schließlich konsistente liest - Sie müssten 500 Einheiten lesen Kapazität - aktuelle Preisgestaltung ist $ 0.0065/Stunde, um 50 Einheiten Lesekapazität pro Sekunde - die würde 365 Tage * 24hours * ($ 0,0065 * 10) = = $ 569.4 pro Jahr - dieser Preis steigt linear mit zunehmender Tischgröße – Fabian