繁体   English   中英

Java Lambda 用于 dynamodb 的分页扫描

[英]Java Lambda for Pagination scan for dynamodb

所以我尝试使用 lastkeyevaluated、limit 和 filterexpression 扫描 dynamodb 表。 我还想从一个 dynamodb 中获取返回的 lastevaluatedkey、filterexpression 和 limit,并将其添加到新的 dynamodb 表中。 这是我现在的代码

package dev.example;
 
 import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
 import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
 import com.amazonaws.services.dynamodbv2.document.DynamoDB;
 import com.amazonaws.services.dynamodbv2.model.AttributeValue;
 import com.amazonaws.services.dynamodbv2.model.ScanRequest;
 import com.amazonaws.services.dynamodbv2.model.ScanResult;
 
 import java.util.Map;
 
 public class ScanTable {
     static AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build();
     //static DynamoDB dynamoDB = new DynamoDB(client);
     
     public static void scan()
     {
         Map<String, AttributeValue> lastKeyEvaluated = null;
         String status = "open";
         do {
             ScanRequest scanRequest = new ScanRequest()
                     .withTableName("tablename")
                     .withLimit(10)
                     .withExclusiveStartKey(lastKeyEvaluated)
                     .withFilterExpression(status);
 
             ScanResult result = client.scan(scanRequest);
             for (Map<String, AttributeValue> item : result.getItems()){
                 System.out.println(item);
                
             }
             lastKeyEvaluated = result.getLastEvaluatedKey();
         } while (lastKeyEvaluated == null);
     }
     public static void main(String[] args) throws Exception {
         scan();
     }
 }

我不知道该怎么做。

  1. 要扫描表格,请查看这些文档 这显示了如何设置 Limit、FilterExpression 以及如何分页。

  2. 要添加返回值,请查看这些文档,其中向您展示了如何执行 PutItem 请求以将值保存到新表中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM