2016-01-08 16 views
6

Bir öğeyi silmek için DynamoDB eşleştiricisi kullanıyorum ancak silme işleminden önce var olduğundan emin olmak zorundayım? DynamoDB Eşleştiricisi'ni kullanarak bir öğeyi önce yüklemeden silebilir miyim?

Bu yüzden şu anda

public void delete(final String hashKey, final Long rangeKey) { 
    final Object obj = mapper.load(Object.class, hashKey, rangeKey); 
    if (obj != null) { 
     mapper.delete(obj); 
    } 
} 

yapıyorum Eğer orada ilk yüklemeden bir öğeyi silmek için bir yol? Öğeyi bulunamadıysa sessizce geri dönmek istiyorum

cevap

4

Evet, yapabilirsin!

table.deleteItem("hashKeyAttributeName", hashKey, "rangeKeyAttribureName", rangeKey); 

için:

... 
MyObject object = new MyObject(); 
object.setHashKey(hashKey); 
object.setRangeKey(rangeKey); 
mapper.delete(object); 
.... 
2

Ayrıca com.amazonaws.services.dynamodbv2.document.Table örneği ile yapabilirsiniz:

Basitçe silmek ve sil yöntemine bir nesne olarak geçmek istiyorum kimliğine sahip bir nesne oluşturmak Aşağıdakileri kullanabileceğiniz bir Tablo örneği oluşturun:

BasicAWSCredentials credentials = new BasicAWSCredentials(amazonAWSAccessKey, amazonAWSSecretKey); // set access and secret keys 
AmazonDynamoDB amazonDynamoDB = AmazonDynamoDBClientBuilder.standard() 
     .withCredentials(new AWSStaticCredentialsProvider(credentials)) 
     .withRegion("us-west-1") // set aws region 
     .build(); 
Table table = new DynamoDB(amazonDynamoDB).getTable(tableName); 
İlgili konular