Socket
Socket
Sign inDemoInstall

dynamodb-backup-restore

Package Overview
Dependencies
20
Maintainers
2
Versions
42
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.3 to 0.2.4

2

lambda/package.json

@@ -6,4 +6,4 @@ {

"dependencies": {
"dynamodb-backup-restore ": "0.2.3"
"dynamodb-backup-restore ": "0.2.4"
}
}

@@ -12,3 +12,3 @@ 'use strict';

this.dbStreamData = new DbStreamData(config);
this.dbInstanceData = new DbInstanceData(config);
this.dbInstanceData = new DbInstanceData(config, this.dbRecord);
}

@@ -62,5 +62,2 @@

return this.dbInstanceData.retrieve()
.then(records => {
this.fromDbInstance(records);
})
.catch(err => {

@@ -67,0 +64,0 @@ throw err;

@@ -6,5 +6,6 @@ 'use strict';

class DbInstanceData {
constructor(config) {
constructor(config, dbRecord) {
this.DbTable = config.DbTable;
this.DbRegion = config.DbRegion;
this.dbRecord = dbRecord;
}

@@ -40,3 +41,3 @@

return new Promise((resolve, reject) => {
let records = [];
let dynamodb = new AWS.DynamoDB({ region: this.DbRegion });

@@ -46,3 +47,3 @@ let params = {

ExclusiveStartKey: null,
Limit: 25,
Limit: 100,
Select: 'ALL_ATTRIBUTES'

@@ -54,33 +55,46 @@ };

function recursiveCall(params) {
dynamodb.scan(params, function (err, data) {
if (err) {
return reject(err);
}
return new Promise((rs, rj) => {
data.Items.forEach(function (item) {
let id = {};
keys.forEach(key => {
id[key.AttributeName] = item[key.AttributeName];
dynamodb.scan(params, (err, data) => {
if (err) {
return rj(err);
}
let records = [];
data.Items.forEach((item) => {
let id = {};
keys.forEach(key => {
id[key.AttributeName] = item[key.AttributeName];
});
let record = {
keys: JSON.stringify(id),
data: JSON.stringify(item),
event: 'INSERT'
};
records.push(record);
});
let record = {
keys: JSON.stringify(id),
data: JSON.stringify(item),
event: 'INSERT'
};
records.push(record);
let promises = [];
records.forEach(record => {
promises.push(this.dbRecord.backup([record]));
});
Promise.all(promises)
.then(() => {
numberOfRecords += data.Items.length;
console.log('Retrieved ' + data.Items.length + ' records; total at ' + numberOfRecords + ' records.');
if (data.LastEvaluatedKey) {
params.ExclusiveStartKey = data.LastEvaluatedKey;
return recursiveCall.call(this, params);
}
return rs();
})
.catch(err => {
rj(err);
});
});
numberOfRecords += data.Items.length;
console.log('Retrieved ' + data.Items.length + ' records; total at ' + numberOfRecords + ' records.');
if (data.LastEvaluatedKey) {
params.ExclusiveStartKey = data.LastEvaluatedKey;
recursiveCall.call(this, params);
} else {
resolve(records);
}
});
}
recursiveCall.call(this, params);
recursiveCall.call(this, params).then(() => { resolve() });
});

@@ -87,0 +101,0 @@ }

{
"name": "dynamodb-backup-restore",
"version": "0.2.3",
"version": "0.2.4",
"description": "NPM package for Backup and Restore AWS DynamoDB",

@@ -5,0 +5,0 @@ "homepage": "https://github.com/Purple-Unicorns/DynamoDbBackUp",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc