Is it possible to ORDER results with query or scan in DynamoDB?

前端 未结 6 776
长发绾君心
长发绾君心 2020-12-04 16:42

Is it possible to ORDER results with Query or Scan API in DynamoDB?

I need to know if DynamoDB has something like [ORDER BY \'field\'] from SQL queries?

Tha

6条回答
  •  没有蜡笔的小新
    2020-12-04 16:58

    Use ScanIndexForward(true for ascending and false for descending) and can also limit the result using setLimit value of Query Expression.

    Please find below the code where used QueryPage for finding the single record.

    public void fetchLatestEvents() {
        EventLogEntitySave entity = new EventLogEntitySave();
        entity.setId("1C6RR7JM0JS100037_contentManagementActionComplete");
    
        DynamoDBQueryExpression queryExpression = new DynamoDBQueryExpression().withHashKeyValues(entity);
        queryExpression.setScanIndexForward(false);
        queryExpression.withLimit(1);
        queryExpression.setLimit(1);
    
        List result = dynamoDBMapper.queryPage(EventLogEntitySave.class, queryExpression).getResults();
        System.out.println("size of records = "+result.size() );
    }
    
    @DynamoDBTable(tableName = "PROD_EA_Test")
    public class EventLogEntitySave {
    
            @DynamoDBHashKey
            private String id;
            private String reconciliationProcessId;
            private String vin;
            private String source;
    }
    
    public class DynamoDBConfig {
        @Bean
        public AmazonDynamoDB amazonDynamoDB() {
    
                String accesskey = "";
                String secretkey = "";
                //
                // creating dynamo client
                BasicAWSCredentials credentials = new BasicAWSCredentials(accesskey, secretkey);
                AmazonDynamoDB dynamo = new AmazonDynamoDBClient(credentials);
                dynamo.setRegion(Region.getRegion(Regions.US_WEST_2));
                return dynamo;
            }
    
        @Bean
        public DynamoDBMapper dynamoDBMapper() {
            return new DynamoDBMapper(amazonDynamoDB());
        }
    }
    

提交回复
热议问题