Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

840
Views
DynamoDb delete non-existent item does not fail, why?

I am deleting a non-existing record from the dynamodb table using dynamoDbMapper.delete(object) which uses default DynamoDBDeleteExpression

I was expecting some sort of exception to arise since the record is absent from the DB but it does nothing. It does not even have a return type which could tell if the delete was successful or failure. Is there a way to add a delete expression or something which will make my delete throw an exception if the item is absent from the db?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

It is by design:

Unless you specify conditions, the DeleteItem is an idempotent operation; running it multiple times on the same item or attribute does not result in an error response.

FROM: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html

over 4 years ago · Santiago Trujillo Report

0

It's possible to utilize ReturnValues to determine if delete did anything or not. If ReturnValues.Attributes is empty, it means delete didn't find a record to delete, and you can throw an error in this case. Example in JavaScript:

async function deleteWithThrowIfNotExists() {
  const dynamo = new AWS.DynamoDB.DocumentClient();
  const parameters = {
    Key: {
      user: 'john'
    },
    ReturnValues: 'ALL_OLD',
    TableName: 'users'
  };
  const response = await dynamo.delete(parameters).promise();
  if (!response.Attributes) {
    throw new Error('Cannot delete item that does not exist')
  }
}
over 4 years ago · Santiago Trujillo Report

0

You can first load the item, and if item doesn't exists you can throw exception otherwise delete it.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!