AWS-导入JSON文件以加载Dynamo表

29e*_*9er 7 javascript amazon-web-services amazon-dynamodb aws-sdk

我有一个要用于在AWS中加载Dynamo表的json文件。在AWS控制台中,一次只能创建一个记录的选项。不好: )

本质上,我的.JSON文件是一个对象数组,其中包含表中每一列的数据,即:

{
    "Column1": "Column1 Value",
    "Column2": "Column2 Value",
    "Column3": "Column3 Value",
    "Column4": "Column4 Value",
  },
Run Code Online (Sandbox Code Playgroud)

有什么方法可以通过AWS控制台并导入我的json文件来执行此操作,还是必须使用AWS JS SDK以编程方式执行此操作?

car*_*iem 13

对于单个记录,EJ Brennan 的答案看起来是正确的,但它没有回答原始问题(需要添加一组记录)。

为此,命令

aws dynamodb batch-write-item --request-items file://aws-requests.json
Run Code Online (Sandbox Code Playgroud)

但是,您需要制作一个修改过的 JSON 文件,如下所示(注意指定数据类型的 DynamoDB JSON):

{
    "YourTableName": [
        {   
            "PutRequest": {
                "Item": { 
                    "Column1": { "S": "Column1 Value" },
                    "Column2": { "S": "Column2 Value" },
                    "Column3": { "S": "Column3 Value" },
                    "Column4": { "S": "Column4 Value" },
                }
            }
        },
        {
            "PutRequest": {
                "Item": { 
                    "Column1": { "S": "Column1 Value" },
                    "Column2": { "S": "Column2 Value" },
                    "Column3": { "S": "Column3 Value" },
                    "Column4": { "S": "Column4 Value" },
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

  • 您好,我看到此解决方案允许每个批量写入项请求最多 25 次写入。让人们知道这一点可能很重要(我刚刚尝试了 1600):) (2认同)

E.J*_*nan 6

您不需要使用API​​。您可以改用AWS-CLI,即:

aws dynamodb put-item --table-name MusicCollection --item file://item.json --return-consumed-capacity TOTAL
Run Code Online (Sandbox Code Playgroud)

但您可能需要稍微调整JSON格式。

更多示例和文档在这里:

https://docs.aws.amazon.com/cli/latest/reference/dynamodb/put-item.html

  • 嗨,是的,在我修改了JSON之后,我使用了“ aws dynamodb batch-write-item --table-name mytable --request-items file:// TableItems.json` (3认同)
  • 但是,您调整后的JSON是什么样的@ 29er? (2认同)