要清除 DynamoDB 表中的所有数据,而不删除表本身,可以使用以下代码示例:
import boto3
def clear_dynamodb_table(table_name):
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table(table_name)
# 获取表中的所有主键
response = table.scan(ProjectionExpression='primaryKey')
items = response['Items']
# 逐个删除每个主键对应的项目
with table.batch_writer() as batch:
for item in items:
primary_key = item['primaryKey']
batch.delete_item(Key={'primaryKey': primary_key})
print(f"Successfully cleared all data from {table_name} table.")
# 调用函数来清除数据
clear_dynamodb_table('your-table-name')
这个示例使用了 boto3
库来与 DynamoDB 进行交互。首先,创建一个 DynamoDB
资源,然后使用 Table
方法获取指定表的对象。
接下来,使用 scan
方法扫描表中的所有项目,并将它们存储在 items
列表中。然后,使用 batch_writer
方法创建一个批量处理器,用于逐个删除表中的项目。
最后,遍历 items
列表中的每个项目,提取主键,并使用 delete_item
方法从表中删除该项目。完成后,打印出成功清除数据的消息。
确保将 'your-table-name'
替换为实际的表名,然后运行代码即可清除 DynamoDB 表中的所有数据。