如何使用Node.js将对象数组放入DynamodDB中

时间:2019-01-08 07:16:20

标签: node.js amazon-web-services amazon-s3 aws-lambda

我有一个JSON,其中包含以下格式的对象数组。如何使用Lambda函数(NodeJS)在dynamoDB中添加它。假设我的JSON位于s3存储桶名称“ databucket”中,文件名为data.json。创建数据库表时,我已使用“ userId”作为键。预先感谢

{
  "records": [
    {
      "first-name": "Mark",
      "last-name": "rob",
      "userId": "fvdvfd"
    },
    {
      "first-name": "Alan",
      "last-name": "thomas",
      "userId": "wee"
    },
    {
      "first-name": "Joan",
      "last-name": "Young",
       "userId": "wee"
    }
]
}

1 个答案:

答案 0 :(得分:1)

  1. 首先,您必须从S3存储桶中检索data.json并将其内容读入变量。
  2. 第二,您应该创建dynamodb参数以提供给dynamodb客户端PUT方法。由于它是一个对象数组,因此您必须遍历该数组并放置每个对象,否则可以按如下方式在dynamodb中使用batchWrite方法,

    var AWS = require('aws-sdk'); var insertBatchRecords = function(callback) { var dynamodb = new AWS.DynamoDB(); var bulkInsertParams = { RequestItems: { "Records": [ { PutRequest: { Item: { "first-name": "Mark", "last-name": "rob", "userId": "fvdvfd" } }}, { PutRequest: { Item: { "first-name": "Alan", "last-name": "thomas", "userId": "wee" } }}] } }; dynamodb.batchWriteItem(bulkInsertParams, callback); }