Wenn Sie nur mit dem Hash-Schlüssel löschen möchten, müssen Sie zuerst die Datensätze abfragen und anschließend alle Datensätze mit batchDelete
löschen.
HashMap<String, AttributeValue> eav = new HashMap<String, AttributeValue>();
eav.put(":v1", new AttributeValue().withS(value));
DynamoDBQueryExpression<DocumentTable> queryExpression = new DynamoDBQueryExpression<DocumentTable>()
.withKeyConditionExpression("documentId = :v1")
.withExpressionAttributeValues(eav);
List<DocumentTable> ddbResults = dynamoDBMapper.query(DocumentTable.class, queryExpression);
dynamoDBMapper.batchDelete(ddbResults);
Ich mag würde hier rufen, dass deleteItem
nur ein Element löscht zu einem Zeitpunkt, und beide Hash-Schlüssel und Schlüsselbereich muss für diese angegeben werden.
Ich werde sehr dankbar sein, wenn Sie die Referenz – Hans
@Hans Ich habe die Antwort aktualisiert, wenn Sie das Gefühl, dass es richtig ist, können Sie als Antwort markieren. –
Das hat mich überrascht. Ich bin vertrauter mit Cassandra, das die Möglichkeit hat, eine ganze Partition durch Angabe nur des Partitionsschlüssels zu löschen. –