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

如何将DynamoDB备份文件下载至本地主机并恢复到本地实例?

从AWS DynamoDB备份恢复到本地实例的解决方案

核心思路

你已经有云端的DynamoDB备份,无法直接下载到本地,但可以先将备份导出到S3存储桶,再下载到本地,最后导入到本地DynamoDB实例。

步骤1:导出云端备份到S3

使用AWS CLI将备份导出到你的S3存储桶:

  • 若使用时间点备份(含自动备份):
    aws dynamodb export-table-to-point-in-time \
      --table-arn arn:aws:dynamodb:你的区域:你的账号ID:table/目标表名 \
      --s3-bucket 你的S3桶名 \
      --s3-prefix dynamodb-export/ \
      --export-format DYNAMODB_JSON \
      --point-in-time-recovery-snapshot-time "备份对应的时间戳"
    
  • 若使用按需备份,可通过备份ARN关联导出(需先获取备份ARN):
    aws dynamodb export-table-to-point-in-time \
      --table-arn arn:aws:dynamodb:你的区域:你的账号ID:table/目标表名 \
      --s3-bucket 你的S3桶名 \
      --s3-prefix dynamodb-export/ \
      --export-format DYNAMODB_JSON \
      --restore-from-backup-arn arn:aws:dynamodb:你的区域:你的账号ID:table/目标表名/backup/备份ID
    
  • 查看导出进度:
    aws dynamodb describe-export --export-arn 导出任务ARN
    

步骤2:下载导出文件到本地

导出完成后,用AWS CLI将S3上的文件同步到本地:

aws s3 sync s3://你的S3桶名/dynamodb-export/ ./本地备份目录/

步骤3:导入到本地DynamoDB

方法1:用Python脚本批量导入

确保本地DynamoDB已启动(默认端口8000),运行以下脚本:

import json
import boto3

# 连接本地DynamoDB
dynamodb = boto3.client('dynamodb', endpoint_url='http://localhost:8000')
local_table_name = "你的本地表名"
backup_file_path = "./本地备份目录/data.json"

# 读取导出的JSON文件(按行解析)
with open(backup_file_path, 'r') as f:
    items = [json.loads(line) for line in f]

# 批量写入,每次最多25条
for idx in range(0, len(items), 25):
    batch_items = items[idx:idx+25]
    request_items = {
        local_table_name: [{"PutRequest": {"Item": item}} for item in batch_items]
    }
    dynamodb.batch_write_item(RequestItems=request_items)

注意:本地表需提前创建,结构要和原表完全一致(主键、索引等)。

方法2:用dynamodump直接恢复

你提到的dynamodump可以直接读取本地导出文件,无需重新创建备份:

dynamodump -m restore -s ./本地备份目录/ -d http://localhost:8000 -t 你的本地表名

注意事项

  • 确保你有足够的AWS权限:dynamodb:ExportTableToPointInTime、s3:PutObject、s3:GetObject等
  • 导出格式选DYNAMODB_JSON,方便本地解析导入
  • 本地DynamoDB表结构必须与原表匹配,否则会出现写入失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:02:42