2017-05-05 87 views
0

我建立指向AWS dynamodb數據庫操作的春天啓動微服務。我正在使用下面的庫進行交互:因爲這樣的操作在使用CrudRepository時可以正常工作,但是對於批量操作而言它非常慢。我們有沒有像jdbcTemplate.batchUpdate()這樣的選項用於dynamodb?使用的JdbcTemplate春季啓動應用程序的AWS Dynamodb

<dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-java-sdk-core</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-java-sdk-dynamodb</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>com.github.derjust</groupId> 
     <artifactId>spring-data-dynamodb</artifactId> 
     <version>4.5.0</version> 
    </dependency> 
+0

Dynamodb沒有批量更新功能。它必須是原子的。 – notionquest

回答

0

batchSave可在spring-data-dynamodb使用AWS SDK DynamoDBMapper batchSave不更新現有的項目。

DynamoDBMapper.batchSave內部調用AmazonDynamoDB.batchWriteItem(),它不支持更新現有項目。

DynamoDBMapper batchSave: -

保存使用一個或更多的呼叫到 AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)API給定的對象。根據API的要求,沒有版本 執行檢查。

該方法忽略任何SaveBehavior上映射器設置,並且總是 表現爲好像SaveBehavior.CLOBBER指定,作爲 AmazonDynamoDB.batchWriteItem()請求不支持更新 現有項目。

相關問題