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

使用DynamoDB CLI导入CSV到DynamoDB表遇问题求助

解决CSV导入DynamoDB的几种实用方法

aws dynamodb batch-write-item本身不支持直接读取CSV文件,需要先将CSV转换为它能识别的批量请求格式,或者通过其他工具/脚本完成导入,以下是几种常用方案:

方案1:Shell脚本逐行导入(适合小数据量)

如果你的CSV数据量不大,可以用Shell脚本循环调用put-item命令逐行导入:

  1. 准备CSV文件(示例users.csv):
fname,lname
Jon,Doe
Jane,Smith
Bob,Johnson
  1. 编写Shell脚本import_csv.sh:
#!/bin/bash
INPUT_CSV="users.csv"
TABLE_NAME="TABLE-NAME"

# 跳过CSV表头行,逐行处理数据
tail -n +2 "$INPUT_CSV" | while IFS=, read -r fname lname; do
  aws dynamodb put-item \
    --table-name "$TABLE_NAME" \
    --item '{
      "fname": {"S": "'"$fname"'"},
      "lname": {"S": "'"$lname"'"}
    }'
done
  1. 赋予脚本执行权限并运行:
chmod +x import_csv.sh
./import_csv.sh

方案2:Python脚本转换为批量JSON(适合大数据量)

大数据量下批量写入效率更高,用Python将CSV转换为batch-write-item要求的JSON格式,再执行导入:

  1. 编写转换脚本csv_to_dynamo_batch.py:
import csv
import json

# 配置参数
csv_file_path = "users.csv"
target_table = "TABLE-NAME"
output_json_path = "dynamo_batch.json"

batch_requests = []

# 读取CSV并转换为DynamoDB批量请求格式
with open(csv_file_path, mode='r', encoding='utf-8') as csv_file:
    csv_reader = csv.DictReader(csv_file)
    for row in csv_reader:
        dynamo_item = {}
        # 默认按字符串类型处理,如需数字/布尔类型可自行判断转换
        for column, value in row.items():
            dynamo_item[column] = {"S": value}
        batch_requests.append({"PutRequest": {"Item": dynamo_item}})

# 生成最终JSON文件
final_batch = {target_table: batch_requests}
with open(output_json_path, mode='w', encoding='utf-8') as json_file:
    json.dump(final_batch, json_file, indent=2)
  1. 运行脚本生成批量JSON:
python csv_to_dynamo_batch.py
  1. 执行批量导入命令:
aws dynamodb batch-write-item --request-items file://dynamo_batch.json

注意:如果CSV条目超过25条(DynamoDB批量请求的单批次上限),需要修改脚本拆分多批次执行,或者用boto3库直接调用批量写入API自动处理分批。

方案3:AWS Data Pipeline可视化导入(适合非开发人员)

如果不想写代码,可以用AWS Data Pipeline完成可视化导入:

  • 登录AWS控制台,进入Data Pipeline服务,新建管道
  • 选择「Import DynamoDB table from S3」模板
  • 配置S3上的CSV文件路径、目标DynamoDB表名
  • 定义列映射关系(指定CSV列对应DynamoDB的属性名和数据类型)
  • 启动管道,等待导入完成

内容的提问来源于stack exchange,提问作者Tim-Timer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 23:20:05