Delete Data
DynamoDB তে data delete করার syntax
1️⃣ AWS CLI – delete-item
Syntax:
aws dynamodb delete-item \
--table-name TableName \
--key '{"PartitionKeyName": {"S": "value"}, "SortKeyName": {"S": "value"}}' \
--endpoint-url http://localhost:8000
--key → Partition Key + Sort Key (যদি থাকে)
--endpoint-url → Local Docker DynamoDB address
Example: Delete a user with user_id = 1
aws dynamodb delete-item \
--table-name Users \
--key '{"user_id": {"S": "1"}}' \
--endpoint-url http://localhost:8000
✅ Optional: ConditionExpression ব্যবহার করলে নিশ্চিত করা যায় শুধু যখন কিছু condition সত্য হয় তখনই delete হবে
aws dynamodb delete-item \
--table-name Users \
--key '{"user_id": {"S": "1"}}' \
--condition-expression "attribute_exists(user_id)" \
--endpoint-url http://localhost:8000
2️⃣ Python – delete_item
import boto3
# Connect to local DynamoDB
dynamodb = boto3.resource('dynamodb', endpoint_url='http://localhost:8000', region_name='us-east-1')
table = dynamodb.Table('Users')
# Delete item
response = table.delete_item(
Key={'user_id': '1'}, # Partition Key
ConditionExpression="attribute_exists(user_id)" # Optional
)
print("Deleted successfully!")
Key Points:
Key→ Partition Key + Sort Key (যদি থাকে)Optional:
ConditionExpression→ শুধু যখন record exist করে তখন deleteLarge table এ একসাথে multiple delete করতে হলে loop + batch_writer() (for delete) ব্যবহার করা যায়
3️⃣ Python – Delete multiple items at a time
items_to_delete = ['2', '3', '4'] # user_id list
with table.batch_writer() as batch:
for uid in items_to_delete:
batch.delete_item(Key={'user_id': uid})
print("All selected items deleted!")
batch_writer() দিয়ে একসাথে multiple delete possible
Maximum 25 items per batch recommended
🔑 Summary:
| Operation | AWS CLI | Python boto3 |
|---|---|---|
| Delete single | delete-item | delete_item() |
| Delete multiple | CLI loop + delete-item | batch_writer().delete_item() |
| Conditional delete | --condition-expression | ConditionExpression=... |