Wenn ich nicht falsch bin, um eine Anzahl von Elementen in DynamoDB durchzuführen, müssen wir die query Aktion verwenden und Select: 'COUNT'
als Parameter angeben. Nehmen wir an, ich möchte die Anzahl der Elemente zählen, die einen bestimmten Partitionsschlüssel haben. Da wir die query
Aktion verwenden, bedeutet, dass die folgende ?:DynamoDB Zählung Betrieb Kapazität Einheiten Verbrauch
- Auch wenn wir nur die Zählung zurückkehrt, wird entsprechen die verbrauchte lesen Kapazitätseinheiten auf die Größe aller Elemente mit dieser Partitionsschlüssel.
- Wenn die Größe der Elemente, die den angegebenen Partitionsschlüssel haben, 1MB überschreitet, wird die Anzahl partiell sein, berücksichtigt nur die Elemente bis 1MB und die Operation wird paginiert.
Also, was ist die gängigste/leistungsfähigste Möglichkeit, einen Zähler von Datensätzen nach Partition Key zu halten? Mit DynamoDB Streams + Lambda den Stand irgendwo anders cachen? Dies ist eine große Einschränkung, wenn man bedenkt, dass es eine sehr häufige Aufgabe ist. Ich würde verstehen, dass AWS-Jungs für mehr RCUs berechnen, wenn die Zählung irgendein anderes Attribut beinhaltet, das nicht der Partitionsschlüssel ist, aber da wir nur ein indiziertes Attribut abfragen ... – davids
könnte das helfen: http://stackoverflow.com/ a/21958587/1517410 –