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

如何从修改后的JSON备份向DynamoDB表批量添加数据?

简便实现方案

方案1:用AWS CLI批量写入

你的JSON格式刚好适配DynamoDB的批量写入规范,只需要简单整理格式后用CLI命令导入:

步骤1:转成批量请求格式

写个简单的Python脚本把你的单行JSON转换成batch-write-item要求的结构,同时自动拆分25条为一个批次(DynamoDB批量操作的上限):

import json

# 目标表名
target_table = "TableB"
input_file = "你修改后的文件.json"

output_base = "batch_"
batch_size = 25

# 初始化批次数据
current_batch = []
batch_index = 0

with open(input_file, "r") as f:
    for line_num, line in enumerate(f):
        # 解析每行的Item
        item = json.loads(line)["Item"]
        current_batch.append({"PutRequest": {"Item": item}})
        
        # 达到批次上限就写入文件
        if len(current_batch) == batch_size:
            batch_data = {"RequestItems": {target_table: current_batch}}
            with open(f"{output_base}{batch_index}.json", "w") as bf:
                json.dump(batch_data, bf)
            current_batch = []
            batch_index += 1

# 处理剩余的不足25条的数据
if current_batch:
    batch_data = {"RequestItems": {target_table: current_batch}}
    with open(f"{output_base}{batch_index}.json", "w") as bf:
        json.dump(batch_data, bf)

步骤2:执行导入

用AWS CLI循环处理所有批次文件:

# 遍历所有batch开头的JSON文件,逐个导入
for batch_file in batch_*.json; do
    aws dynamodb batch-write-item --request-items file://$batch_file
done

方案2:控制台导入(适合大数据量)

如果文件多、数据量大,直接用DynamoDB控制台的导入功能更省心:

  • 把所有修改后的JSON文件上传到AWS S3桶
  • 打开DynamoDB控制台,找到TableB,点击「导入数据」
  • 选择S3里的文件路径,输入格式选「DynamoDB JSON」,跟着向导一步步完成导入

注意点

  • 确保你的AWS账号有TableB的写入权限,以及S3的读取权限(如果用方案2)
  • 批量写入时如果遇到吞吐量限制,可以临时打开TableB的自动扩容,或者避开业务高峰操作
  • 如果TableB里已有相同主键的数据,PutRequest会直接覆盖,不想覆盖的话要提前处理主键或者修改脚本用UpdateRequest

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 03:30:55