Как поместить массив объектов в DynamodDB, используя nodejs - PullRequest
0 голосов
/ 08 января 2019

У меня есть JSON, имеющий массив объектов в следующем формате. Как я могу добавить его в DynamoDB с помощью лямбда-функции (NodeJS). Предположим, что мой 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 голосов
/ 08 января 2019
  1. Сначала вы должны извлечь data.json из корзины S3 и прочитать его содержимое в переменную.
  2. Во-вторых, вы должны создать параметр dynamicodb для предоставления методу PUT клиента dynamicodb. Так как это массив объектов, вы должны циклически проходить по массиву и помещать каждый объект, иначе вы можете использовать метод batchWrite в DynamodB следующим образом:

    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); }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...