2012-12-22 3 views
6

Ich arbeite derzeit aus, ob ich DynamoDB für ein Projekt verwenden werde. Ich möchte wissen, ob ich eine Abfrage gegen die Datenbank für einen bestimmten Schlüssel ausführen und es nicht gefunden wird (zB: sehen, ob diese BenutzerID vorhanden ist und Inhalt wenn es ist) ist diese Abfrage, die keine Ergebnisse zurückgibt, die als Lesen und Kostenpflichtig gelten ?AWS DynamoDB Query Call (ohne Ergebnisse) Kosten

Ich erwarte, dass ich eine bestimmte Menge an Anfragen tun, dass dies Faktor in nicht Ergebnisse (Polling zur Information) zurückkehren und brauche

Below von der AWS-Website ist. http://aws.amazon.com/dynamodb/pricing/

„Hinweis dass die erforderliche Anzahl von Einheiten der Lesekapazität durch die Anzahl der gelesenen Elemente pro Sekunde bestimmt wird, nicht die Anzahl der API-Aufrufe, zum Beispiel, wenn Sie 500 Artikel pro Sekunde aus Ihrer Tabelle lesen müssen und wenn Ihre Artikel 1 KB groß sind oder weniger, dann benötigen Sie 500 Lesekapazitätseinheiten. Es macht nichts, wenn Sie 500 einzelne GetItem-Aufrufe oder 50 BatchGetItem-Aufrufe ausführen, die jeweils 10 Elemente zurückgeben. "

Antwort

8

Sie können es einfach überprüfen, indem Sie DynamoDB aufrufen und im Ergebnis ConsumedCapacityUnits betrachten.

Zum Beispiel, wenn Sie einen einfachen getItem Anruf für ein Element aufrufen, die vorhanden ist, erhalten Sie so etwas wie:

Result: {Item: {fans={SS: [Billy Bob, James], }, name={S: Airplane, }, year={N: 1980, }, rating={S: *****, }}, 
    ConsumedCapacityUnits: 0.5, } 

jedoch, wenn Sie es auf ein Element aufrufen, die nicht existiert, können Sie erhalten:

Result: {ConsumedCapacityUnits: 0.5, } 

Daher scheint es, dass Sie Ihre Fähigkeit, selbst verbrauchen, wenn das Element nicht in der Tabelle ist, wie die Suche dennoch

laufen
+0

danke - gute informationen ... geschätzt ... – Adam

1

nach this link, gibt es einen Unterschied zwischen Scan-und Query-Operationen. Eine Abfrage ohne Ergebnis führt nicht zu Kosten.