2015-01-13 2 views
1

В чем разница между следующим динамо синтаксисом дб запросом:
Мы привыкли использоватьДинамо DB Синтаксис Java

QueryRequest queryRequest = new QueryRequest().withTableName(TABLE).withKeyConditions(keyConditions)....; 

и в последней документации я вижу:

table.query("Id", replyId, 
      null, ///RangeKeyCondition - not used in this example 
      "PostedBy = :val", //FilterExpression 

, который один должны мы используем? Это новый синтаксис? различия?
Thanks

ответ

0

Разный аромат, тот же DynamoDB API. The new Document API was introduced in Oct 2014

.. новый API Документ позволяет прямое использование простых старых данных Java типов и имеет меньше шаблонного. Фактически, API документа Dynamo может использовать , чтобы полностью использовать то, что вы можете сделать с клиентом низкого уровня (т. Е. AmazonDynamoDBClient), но с гораздо более чистой моделью программирования и меньше кода.

лично я до сих пор используют AmazonDynamoDBClient (первый пример кода)

0
 @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()); 
      } 

      @Bean 
      public DynamoDBTemplate dynamoDBTemplate() { 
       return new DynamoDBTemplate(amazonDynamoDB()); 
      } 

    Use DynamoDbMapper for scanning the data : 
    DynamoDBQueryExpression<T> query = new DynamoDBQueryExpression<>(); 
query.addExpressionAttributeNamesEntry("xyz", "abc"); 
      List<T> results = dynamoDBMapper.query(T.class, query); 

изменить ваш запрос и будет иметь возможность поиска данных.

Смежные вопросы