Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. from boto3 import resource
  2. from boto3.dynamodb.conditions import Key
  3.  
  4. def delete_all_items(table_name, filter_key=None, filter_value=None):
  5. client = boto3.client('dynamodb')
  6. dynamodb = boto3.resource('dynamodb')
  7. table = dynamodb.Table(table_name)
  8. response = client.describe_table(TableName=table_name)
  9. keys = [k['AttributeName'] for k in response['Table']['KeySchema']]
  10.  
  11. dynamodb_resource = resource('dynamodb')
  12. table = dynamodb_resource.Table(table_name)
  13.  
  14. if filter_key and filter_value:
  15. filtering_exp = Key(filter_key).eq(filter_value)
  16. response = table.scan(FilterExpression=filtering_exp)
  17. else:
  18. response = table.scan()
  19.  
  20. while True:
  21. print(len(response['Items']))
  22.  
  23. if response.get('LastEvaluatedKey'):
  24. response = table.scan(ExclusiveStartKey=response['LastEvaluatedKey'])
  25. with table.batch_writer() as batch:
  26. for item in response['Items']:
  27. key_dict = {k: item[k] for k in keys}
  28. batch.delete_item(Key=key_dict)
  29. else:
  30. break
  31.  
  32.  
  33. delete_all_items("MiroData")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement