Skip to content
This repository has been archived by the owner on May 22, 2019. It is now read-only.

Write items to DynamoDB in batches

License

Notifications You must be signed in to change notification settings

StockpileInc/dynamodb-writer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dynamodb-writer

Build Status npm js-standard-style

Write items to DynamoDB in batches

save()

Save an item to internal queue. On 25th item (DynamoDB maximum), it will automatically call flush().

Important: A current limitation is that you cannot make successive calls to save() without waiting for callback first from each previous call to save().

flush()

This will be called internally by save() once internal queue is full. You should call this once after all save() calls are complete, to ensure internal queue is emptied.

Example

const async = require('async')
const {DynamoDB} = require('aws-sdk')
const DynamoDbWriter = require('dynamodb-writer')

const dynamodb = new DynamoDB({
  apiVersion: '2012-08-10'
})
const writer = DynamoDbWriter.create(dynamodb, {table: 'my-table'})
const items = []
async.eachSeries(items, (item, cb) => {
  // Important: You must wait for callback to be called
  // before calling `save()` again
  writer.save(item, cb)
}, (err) => {
  if (err) {
    return console.error('Failed to save items')
  }
  writer.flush((err) => {
    if (err) {
      return console.error('Failed to flush items')
    }
  })
})

About

Write items to DynamoDB in batches

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published