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

如何导出DynamoDB数据或转换JSON适配batch-write-item导入?

DynamoDB 批量导入JSON格式问题解决

一、正确导出数据以兼容批量导入

  • 使用AWS CLI直接导出并转换为兼容格式:
    执行以下命令,将源表数据导出并直接生成batch-write-item可识别的JSON:
    aws dynamodb scan --table-name 源表名 --output json | jq '{目标表名: [.Items[] | {PutRequest: {Item: .}}]}' > 可导入文件.json
    
  • 通过控制台导出到S3:
    在DynamoDB控制台选择目标表,进入导出到S3功能,格式选择DynamoDB JSON,导出后的文件无需额外转换即可用于批量导入。

二、转换现有第三方JSON文件

如果已有数组格式的JSON(如[{"__typename": "Article", ...}, ...]),需按以下步骤转换:

  1. 明确DynamoDB数据类型:批量导入要求每个字段必须带类型标记,例如字符串用{"S": "值"},数字用{"N": "123"},布尔值用{"BOOL": true}。
  2. 使用jq工具批量转换:
    假设目标表名为Articles,执行以下命令完成转换(根据实际字段类型调整类型标记):
    jq '{Articles: [.[] | {PutRequest: {Item: {
      "__typename": {"S": .__typename},
      "标题字段": {"S": .标题字段},
      "阅读量字段": {"N": (.阅读量字段 | tostring)}
    }}}]}' 原文件.json > 转换后文件.json
    
  3. 验证格式:转换后的JSON需符合以下结构:
    {
      "目标表名": [
        {
          "PutRequest": {
            "Item": {
              "字段1": {"S": "内容"},
              "字段2": {"N": "123"}
            }
          }
        }
      ]
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:15:42