DynamoDB - Toplama
DynamoDB, toplama işlevleri sağlamaz. Bu görevleri gerçekleştirmek için sorguları, taramaları, dizinleri ve çeşitli araçları yaratıcı bir şekilde kullanmalısınız. Bütün bunlarda, bu işlemlerde sorguların / taramaların iş hacmi maliyeti ağır olabilir.
Ayrıca tercih ettiğiniz DynamoDB kodlama dili için kitaplıkları ve diğer araçları kullanma seçeneğiniz de vardır. Kullanmadan önce DynamoDB ile uyumluluğundan emin olun.
Maksimum veya Minimum Hesapla
Sonuçların artan / azalan saklama sırasını, Limit parametresini ve en yüksek ve en düşük değerleri bulmak için sıralamayı belirleyen tüm parametreleri kullanın.
Örneğin -
Map<String, AttributeValue> eaval = new HashMap<>();
eaval.put(":v1", new AttributeValue().withS("hashval"));
queryExpression = new DynamoDBQueryExpression<Table>()
.withIndexName("yourindexname")
.withKeyConditionExpression("HK = :v1")
.withExpressionAttributeValues(values)
.withScanIndexForward(false); //descending order
queryExpression.setLimit(1);
QueryResultPage<Lookup> res =
dynamoDBMapper.queryPage(Table.class, queryExpression);
Sayıyı Hesapla
Kullanım DescribeTableancak tablo öğelerinin sayısını almak için eski veriler sağladığına dikkat edin. Ayrıca, Java'yı kullanıngetScannedCount method.
Kullanın LastEvaluatedKey tüm sonuçları sağladığından emin olmak için.
Örneğin -
ScanRequest scanRequest = new ScanRequest().withTableName(yourtblName);
ScanResult yourresult = client.scan(scanRequest);
System.out.println("#items:" + yourresult.getScannedCount());
Ortalama ve Toplamı Hesaplama
İşlemden önce değerleri almak ve filtrelemek için endeksler ve bir sorgu / tarama kullanın. Ardından bir nesne aracılığıyla bu değerler üzerinde işlem yapın.