You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CLI截断DynamoDB数据库表?脚本化实现需求

DynamoDB表脚本化截断的简单方法

DynamoDB没有像SQL那样的TRUNCATE直接截断命令,但有两种相对简单的脚本实现方式,不用自己手动处理复杂的扫描逻辑:

方法一:删除表后重建(最快最省心)

如果你的表结构(包括索引、流、读写容量配置等)不需要改动,直接删表再重建是效率最高的方式,尤其适合大表:

  1. 先导出当前表的结构配置(可选但建议,避免重建时遗漏配置):
aws dynamodb describe-table --table-name 你的表名 > table-config.json
  1. 删除原表:
aws dynamodb delete-table --table-name 你的表名
  1. 等待表删除完成后,用导出的配置重建表:
aws dynamodb create-table --cli-input-json file://table-config.json

注意:执行前务必确认表数据无需备份,或者已经做好数据备份。

方法二:批量删除所有条目(保留表结构)

如果不想删除表,可通过AWS CLI结合jq工具批量删除所有数据,无需自己写扫描循环:

  1. 执行以下命令一次性生成删除请求并批量删除(替换你的表名和主键字段名):
aws dynamodb scan --table-name 你的表名 --attributes-to-get "主键字段名" --query "Items" | jq -c '{"RequestItems": {"你的表名": [.[] | {"DeleteRequest": {"Key": .}}]}}' | xargs -0 aws dynamodb batch-write-item --request-items

说明:

  • 如果是复合主键,要把所有主键字段都列在--attributes-to-get里,用空格分隔
  • 这个命令会自动扫描所有条目,生成批量删除请求并执行,无需手动处理分页或循环

内容的提问来源于stack exchange,提问作者Chris Bedford

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 01:20:38