2017-05-05 3 views
0

Ich baue eine Feder Boot Microservices auf AWS dynamodb für Datenbankbetrieb. Ich benutze unten Bibliothek um zu interagieren: Als solche Operationen funktionieren gut mit CrudRepository, aber es ist sehr langsam für den Massenbetrieb. Haben wir irgendeine Option wie jdbcTemplate.batchUpdate() für dynamodb?Verwendung von Jdbctemplate in Spring Boot-Anwendung für 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 hat keine Batch-Update-Funktion. Es muss atomar sein. – notionquest

Antwort

0

Die batchSave auf spring-data-dynamodb verwendet AWS SDK DynamoDBMapper batchSave, die nicht das vorhandene Element nicht aktualisiert.

DynamoDBMapper.batchSave ruft intern AmazonDynamoDB.batchWriteItem() auf, das das Aktualisieren des vorhandenen Elements nicht unterstützt.

DynamoDBMapper batchSave: -

Speichert die gegebenen Objekte mittels einer oder mehrerer Aufrufe an die AmazonDynamoDB.batchWriteItem (BatchWriteItemRequest) API. Keine Version Prüfungen werden durchgeführt, wie von der API gefordert.

Diese Methode ignoriert alle SaveBehavior auf der Mapper gesetzt und immer benimmt sich, als ob SaveBehavior.CLOBBER angegeben wurde, als die AmazonDynamoDB.batchWriteItem() Anfrage nicht vorhandene Elemente nicht unterstützt zu aktualisieren.

Verwandte Themen